------------------------------------------------------------ revno: 14 committer: Fredrik Ullner <ull...@gmail.com> branch nick: dc-plugin-sdk timestamp: Tue 2014-05-06 22:38:46 +0200 message: Adding Python base library added: Libraries/PyPlugin.DataTypes/ Libraries/PyPlugin.DataTypes/DCPluginBase.py Libraries/PyPlugin.DataTypes/DCPluginSinkProxy.py Libraries/PyPlugin.DataTypes/DataTypes.py Libraries/PyPlugin.DataTypes/Enumerations.py Libraries/PyPlugin.DataTypes/IDCPlugin.py Libraries/PyPlugin.DataTypes/IDCPluginSink.py Libraries/PyPlugin.DataTypes/__init__.py
-- lp:dc-plugin-sdk https://code.launchpad.net/~dcplusplus-team/dc-plugin-sdk/trunk Your team Dcplusplus-team is subscribed to branch lp:dc-plugin-sdk. To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dc-plugin-sdk/trunk/+edit-subscription
=== added directory 'Libraries/PyPlugin.DataTypes' === added file 'Libraries/PyPlugin.DataTypes/DCPluginBase.py' --- Libraries/PyPlugin.DataTypes/DCPluginBase.py 1970-01-01 00:00:00 +0000 +++ Libraries/PyPlugin.DataTypes/DCPluginBase.py 2014-05-06 20:38:46 +0000 @@ -0,0 +1,145 @@ + +from IDCPlugin import * +from Enumerations import * + +import traceback + +class DCPluginBase(IDCPlugin): + + def __init__(self): + self._info = PluginInformation(); + self._sink = ""; + + """ Properties """ + def GetInfo(self): + return self._info; + def SetInfo(self, info): + self._info = info; + + def GetSink(self): + return self._sink; + def SetSink(self, sink): + self._sink = sink; + + """ Methods """ + def Initialize(self, install, runtime): + """ if install: """ + """ This only executes when the plugin has been installed for the first time. """ + + """ if runtime: """ + """ If the plugin doesn't support being enabled at runtime, cancel its loading here. """ + + return True; + + def Uninitialize(self): + return True; + + """ Hooks """ + + """ Chat """ + def OnChatIncoming(self, hubData, data, refBreak): + return False; + + def OnChatOutgoing(self, hubData, data, refBreak): + return False; + + def OnChatIncomingPM(self, userData, data, refBreak): + return False; + + """ Timer """ + def OnTimerSecond(self, data, refBreak): + return False; + + def OnTimerMinute(self, data, refBreak): + return False; + + """ Hubs """ + def OnHubOnline(self, hubData, refBreak): + return False; + + def OnHubOffline(self, hubData, refBreak): + return False; + + """ Users """ + def OnUserOnline(self, userData, refBreak): + return False; + + def OnUserOffline(self, userData, refBreak): + return False; + + """ Network """ + def OnNetworkHubDataIn(self, hubData, data, refBreak): + return False; + + def OnNetworkHubDataOut(self, hubData, data, refBreak): + return False; + + def OnNetworkClientDataIn(self, connectionData, data, refBreak): + return False; + + def OnNetworkClientDataOut(self, connectionData, data, refBreak): + return False; + + def OnNetworkUDPDataIn(self, udpData, data, refBreak): + return False; + + def OnNetworkUDPDataOut(self, udpData, data, refBreak): + return False; + + """ Queue """ + def OnQueueAdded(self, queueData, refBreak): + return False; + + def OnQueueMoved(self, queueData, refBreak): + return False; + + def OnQueueRemoved(self, queueData, refBreak): + return False; + + def OnQueueFinished(self, queueData, refBreak): + return False; + + """ UI """ + def OnUICreated(self, data, refBreak): + return False; + + def OnUIChatTags(self, userData, tagData, refBreak): + return False; + + def OnUIChatDisplay(self, userData, stringData, refBreak): + return False; + + def OnUIChatCommand(self, hubData, data, refBreak): + return False; + + def OnUIChatCommandPM(self, userData, data, refBreak): + return False; + + """ Methods """ + + def LogException(self, exceptionMessage): + self.LogError("An unknown exception occured: " + exceptionMessage); + + def LogException(self, exception): + self.LogException(exception, True); + + def LogException(self, exception, logStacktrace): + if logStacktrace: + self.LogError("An exception occured with stacktrace: " + exception.format_exc()); + else: + self.LogError("An exception occured: " + exception.format_exc()); + + def LogError(self, message): + self.LogMessage("[ERROR] " + message); + + def LogWarning(self, message): + self.LogMessage("[WARNING] " + message); + + def LogMessage(self, message): + self.GetSink().LogMessage( "[" + self.GetInfo().GetName() + "]" + message); + + def TryIt(self, sink): + print( "In tryit"); + sink.SendData("I like dogs"); + print( "after tryit"); + === added file 'Libraries/PyPlugin.DataTypes/DCPluginSinkProxy.py' --- Libraries/PyPlugin.DataTypes/DCPluginSinkProxy.py 1970-01-01 00:00:00 +0000 +++ Libraries/PyPlugin.DataTypes/DCPluginSinkProxy.py 2014-05-06 20:38:46 +0000 @@ -0,0 +1,134 @@ + +from IDCPluginSink import * + +import DCPluginSink + +class DCPluginProxySink(IDCPluginSink): + + def __init__(self, sink): + self._sink = sink; + + """ Core """ + def GetApplicationName(self): + return DCPluginSink.GetApplicationName(self._sink); + + def SetApplicationName(self, name): + DCPluginSink.SetApplicationName(self._sink, name); + + """ Log """ + def LogMessage(self, message): + DCPluginSink.LogMessage(self._sink, message); + + """ Config """ + def GetInstallPath(self): + return DCPluginSink.GetInstallPath(self._sink); + + def GetPath(self, pathType): + return DCPluginSink.GetPath(self._sink, pathType); + + def GetStringConfig(self, name): + return DCPluginSink.GetStringConfig(self._sink, name); + def SetStringConfig(self, name, value): + DCPluginSink.SetStringConfig(self._sink, name, value); + + def GetBoolConfig(self, name): + return DCPluginSink.GetBoolConfig(self._sink, name); + def SetBoolConfig(self, name, value): + DCPluginSink.SetStringConfig(self._sink, name, value); + + def GetInt32Config(self, name): + return DCPluginSink.GetInt32Config(self._sink, name); + def SetInt32Config(self, name, value): + DCPluginSink.SetStringConfig(self._sink, name, value); + + def GetInt64Config(self, name): + return DCPluginSink.GetInt64Config(self._sink, name); + def SetInt64Config(self, name, value): + DCPluginSink.SetStringConfig(self._sink, name, value); + + def GetLanguage(self): + return DCPluginSink.GetLanguage(self._sink); + + """ Connection """ + def SendUDPData(self, ipAddress, port, data, amount): + DCPluginSink.SendUDPData(self._sink, ipAddress, port, data, amount); + + def SendProtocolCommand(self, connectionData, command): + DCPluginSink.SendProtocolCommand(self._sink, connectionData, command); + + def TerminateConnection(self, connectionData, graceLess): + DCPluginSink.TerminateConnection(self._sink, connectionData, graceLess); + + def GetConnectionUser(self, connectionData): + return DCPluginSink.GetConnectionUser(self._sink, connectionData); + + """ Hub """ + def AddHub(self, url, nick, password): + return DCPluginSink.AddHub(self._sink, url, nick, password); + + def FindHub(self, url): + return DCPluginSink.FindHub(self._sink, url); + + def RemoveHub(self, hubData): + DCPluginSink.RemoveHub(self._sink, hubData); + + def EmulateProtocolCommand(self, hubData, command): + DCPluginSink.EmualteProtocolCommand(self._sink, hubData, command); + + def SendProtocolCommand(self, hubData, command): + DCPluginSink.SendProtocolCommand(self._sink, hubData, command); + + def SendMessage(self, hubData, message, thirdPerson): + DCPluginSink.SendMessage(self._sink, hubData, message, thirdPerson); + + def LocalMessage(self, hubData, message, messageType): + DCPluginSink.LocalMessage(self._sink, hubData, message, messageType); + + def SendPrivateMessage(self, userData, message, thirdPerson): + DCPluginSink.SendPrivateMessage(self._sink, userdata, message, thirdPerson); + + def FindUser(self, cid, hubURL): + return DCPluginSink.FindUser(self._sink, cid, hubURL); + + """ Queue """ + def AddList(self, userData, silent): + return DCPluginSink.AddList(self._sink, userData, silent); + + def AddDownload(self, hashData, size, target): + return DCPluginSink.AddDownload(self._sink, hashData, size, target); + + def FindDownload(self, target): + return DCPluginSink.FindDownload(self._sink, target); + + def RemoveDownload(self, queueData): + DCPluginSink.RemoveDownload(self._sink, queueData); + + def SetPriority(self, queueData, priority): + DCPluginSink.SetPriority(self._sink, queueData, priority); + + def Pause(self, queueData): + return DCPluginSink.Pause(self._sink, queueData); + + """ Tagger """ + def GetText(self, tagData): + return DCPluginSink.GetText(self._sink, tagData); + + def AddTag(self, tagData, startPlace, endPlace, tagId, attributes): + DCPluginSink.AddTag(self._sink, tagData, startPlace, endPlace, tagId, attributes); + + def ReplaceTagText(self, tagData, startPlace, endPlace, replacement): + DCPluginSink.ReplaceTagText(self._sink, tagData, startPlace, endPlace, replacement); + + """ UI """ + def AddCommand(self, name): + DCPluginSink.AddCommand(self._sink, name); + + def RemoveCommand(self, name): + DCPluginSink.RemoveCommand(self._sink, name); + + def PlaySoundInUI(self, path): + DCPluginSink.PlaySoundInUI(self._sink, path); + + def Notify(self, title, message): + DCPluginSink.Notify(self._sink, title, message); + === added file 'Libraries/PyPlugin.DataTypes/DataTypes.py' --- Libraries/PyPlugin.DataTypes/DataTypes.py 1970-01-01 00:00:00 +0000 +++ Libraries/PyPlugin.DataTypes/DataTypes.py 2014-05-06 20:38:46 +0000 @@ -0,0 +1,227 @@ + +class PluginSetting: + def __init__(self): + self._name = ""; + self._value = ""; + self._defaultvalue = ""; + self._datatype = ""; + self._description = ""; + self._validvalues = ""; + + def GetName(self): + return self._name; + def SetName(self, value): + self._name = value; + + def GetValue(self): + return self._value; + def SetValue(self, value): + self._value = value; + + def GetDefaultValue(self): + return self._defaultvalue; + def SetDefaultValue(self, value): + self._defaultvalue = value; + + def GetDataType(self): + return self._datatype; + def SetDataType(self, value): + self._datatype = value; + + def GetDescription(self): + return self._description; + def SetDescription(self, value): + self._description = value; + + def GetValidValues(self): + return self._validvalues; + def SetValidValues(self, value): + self._validvalues = value; + +class CommandData: + def __init__(self, command, parameters, internalPointer): + self._command = command; + self._parameters = parameters; + self._internalPointer = internalPointer; + + def GetCommand(self): + return self._command; + def GetParameters(self): + return self._parameters; + def GetInternalPointer(self): + return self._internalPointer; + + +class ConnectionData: + def __init__(self, ip, port, protocolType, isOperator, isEncrypted, internalPointer): + self._ip = ip; + self._port = port; + self._protocolType = protocolType; + self._isOperator = isOperator; + self._isEncrypted = isEncrypted; + self._internalPointer = internalPointer; + + def GetIP(self): + return self._ip; + def GetPort(self): + return self._port; + def GetProtocolType(self): + return self._protocolType; + def GetIsOperator(self): + return self._isOperator; + def GetIsEncrypted(self): + return self._isEncrypted; + def GetInternalPointer(self): + return self._internalPointer; + +class HubData: + def __init__(self, url, ip, port, protocolType): + self._url = url; + self._ip = ip; + self._port = port; + self._protocolType = protocolType; + + def GetUrl(self): + return self._url; + def GetIP(self): + return self._ip; + def GetPort(self): + return self._port; + + def SetUrl(self, url): + self._url = url; + def SetIP(self, ip): + self._ip = ip; + def SetPort(self, port): + self._port = port; + +class PluginInformation: + def __init__(self): + self._name = ""; + self._description = ""; + self._author = ""; + self._web = ""; + self._version = 0.0; + self._apiversion = 0.0; + self._uuid = ""; + self._settings = list(); + + def GetName(self): + return self._name; + def SetName(self, name): + self._name = name; + + def GetDescription(self): + return self._description; + def SetDescription(self, description): + self._description = description; + + def GetAuthor(self): + return self._author; + def SetAuthor(self, value): + self._author = value; + + def GetWeb(self): + return self._web; + def SetWeb(self, value): + self._web = value; + + def GetVersion(self): + return self._version; + def SetVersion(self, value): + self._version = value; + + def GetAPIVersion(self): + return self._apiversion; + def SetAPIVersion(self, value): + self._apiversion = value; + + def GetUUID(self): + return self._uuid; + def SetUUID(self, value): + self._uuid = value; + + def GetSettings(self): + return self._settings; + def SetSettings(self, value): + self._settings = value; + +class QueueData: + def __init__(self, target, location, hash, filesize, isfilelist, internalpointer): + self._target = target; + self._location = location; + self._hash = hash; + self._fileSize = filesize; + self._isFileList = isfilelist; + self._internalPointer = internalpointer; + + def GetTarget(self): + return self._target; + def GetLocation(self): + return self._location; + def GetHash(self): + return self._hash; + def GetFileSize(self): + return self._hash; + def GetIsFileList(self): + return self._isFileList; + def GetInternalPointer(self): + return self._internalPointer; + +class StringData: + def __init__(self, input, output, internalpointer): + self._input = input; + self._output = output; + self._internalPointer = internalPointer; + + def GetInput(self): + return self._input; + def GetOutput(self): + return self._output; + def GetInternalPointer(self): + return self._internalPointer; + +class TagData: + def __init__(self, internalpointer): + self._internalPointer = internalPointer; + + def GetInternalPointer(self): + return self._internalPointer; + +class UDPData: + def __init__(self, remoteAddress, port, internalpointer): + self._remoteAddress = remoteAddress; + self._port = port; + self._internalPointer = internalPointer; + + def GetRemoteAddress(self): + return self._remoteAddress; + def GetPort(self): + return self._port; + def GetInternalPointer(self): + return self._internalPointer; + +class UserData: + def __init__(self, nick, hubUrl, cid, sid, protocol, isOperator, internalpointer): + self._nick = nick; + self._hubUrl = hubUrl; + self._cid = cid; + self._sid = sid; + self._protocol = protocol; + self._isOperator = isOperator; + self._internalPointer = internalPointer; + + def GetNick(self): + return self._nick; + def GetHubURL(self): + return self._hubUrl; + def GetCID(self): + return self._cid; + def GetSID(self): + return self._sid; + def GetProtocol(self): + return self._protocol; + def GetIsOperator(self): + return self._isOperator; + def GetInternalPointer(self): + return self._internalPointer; === added file 'Libraries/PyPlugin.DataTypes/Enumerations.py' --- Libraries/PyPlugin.DataTypes/Enumerations.py 1970-01-01 00:00:00 +0000 +++ Libraries/PyPlugin.DataTypes/Enumerations.py 2014-05-06 20:38:46 +0000 @@ -0,0 +1,44 @@ + +def enum(**enums): + return type('Enum', (), enums) +def enum2(*sequential, **named): + enums = dict(zip(sequential, range(len(sequential))), **named) + return type('Enum', (), enums) + +TagPathType = enum2( + 'GlobalConfig', + 'UserConfig', + 'UserLocal', + 'Resources', + 'Locale' + ) + +ProtocolType = enum2( + 'ADC', + 'NMDC', + 'DHT' + ) + +MessageType = enum2( + 'Client', + 'Status', + 'System' + ) + +QueuePriority = enum( + Default = -1, + Lowest = 1, + Low = 2, + Normal = 3, + High = 4, + Highest = 5 + ) + +DataType = enum2( + 'Unknown', + 'String', + 'Byte', + 'Short', + 'Int', + 'Long' + ) === added file 'Libraries/PyPlugin.DataTypes/IDCPlugin.py' --- Libraries/PyPlugin.DataTypes/IDCPlugin.py 1970-01-01 00:00:00 +0000 +++ Libraries/PyPlugin.DataTypes/IDCPlugin.py 2014-05-06 20:38:46 +0000 @@ -0,0 +1,56 @@ + +from DataTypes import * +from IDCPluginSink import * + +class IDCPlugin: + """ Properties """ + def GetInfo(self): NotImplementedError + def SetInfo(self, data): NotImplementedError + + def GetSink(self): NotImplementedError + def SetSink(self, data): NotImplementedError + + """ Methods """ + def Initialize(self, install, runtime): NotImplementedError + + def Uninitialize(self): NotImplementedError + + """ Hooks """ + + """ Chat """ + def OnChatIncoming(self, hubData, data, refBreak): NotImplementedError + def OnChatOutgoing(self, hubData, data, refBreak): NotImplementedError + def OnChatIncomingPM(self, userData, data, refBreak): NotImplementedError + + """ Timer """ + def OnTimerSecond(self, data, refBreak): NotImplementedError + def OnTimerMinute(self, data, refBreak): NotImplementedError + + """ Hubs """ + def OnHubOnline(self, hubData, refBreak): NotImplementedError + def OnHubOffline(self, hubData, refBreak): NotImplementedError + + """ Users """ + def OnUserOnline(self, userData, refBreak): NotImplementedError + def OnUserOffline(self, userData, refBreak): NotImplementedError + + """ Network """ + def OnNetworkHubDataIn(self, hubData, data, refBreak): NotImplementedError + def OnNetworkHubDataOut(self, hubData, data, refBreak): NotImplementedError + def OnNetworkClientDataIn(self, connectionData, data, refBreak): NotImplementedError + def OnNetworkClientDataOut(self, connectionData, data, refBreak): NotImplementedError + def OnNetworkUDPDataIn(self, udpData, data, refBreak): NotImplementedError + def OnNetworkUDPDataOut(self, udpData, data, refBreak): NotImplementedError + + """ Queue """ + def OnQueueAdded(self, queueData, refBreak): NotImplementedError + def OnQueueMoved(self, queueData, refBreak): NotImplementedError + def OnQueueRemoved(self, queueData, refBreak): NotImplementedError + def OnQueueFinished(self, queueData, refBreak): NotImplementedError + + """ UI """ + def OnUICreated(self, data, refBreak): NotImplementedError + def OnUIChatTags(self, userData, tagData, refBreak): NotImplementedError + def OnUIChatDisplay(self, userData, stringData, refBreak): NotImplementedError + def OnUIChatCommand(self, hubData, data, refBreak): NotImplementedError + def OnUIChatCommandPM(self, userData, data, refBreak): NotImplementedError === added file 'Libraries/PyPlugin.DataTypes/IDCPluginSink.py' --- Libraries/PyPlugin.DataTypes/IDCPluginSink.py 1970-01-01 00:00:00 +0000 +++ Libraries/PyPlugin.DataTypes/IDCPluginSink.py 2014-05-06 20:38:46 +0000 @@ -0,0 +1,70 @@ + +from DataTypes import * + +class IDCPluginSink: + + """ Core """ + def GetApplicationName(self): NotImplementedError + + def SetApplicationName(self, name): NotImplementedError + + """ Log """ + def LogMessage(self, message): NotImplementedError + + """ Config """ + def GetInstallPath(self): NotImplementedError + + def GetPath(self, pathType): NotImplementedError + + def GetStringConfig(self, name): NotImplementedError + def SetStringConfig(self, name, value): NotImplementedError + + def GetBoolConfig(self, name): NotImplementedError + def SetBoolConfig(self, name, value): NotImplementedError + + def GetInt32Config(self, name): NotImplementedError + def SetInt32Config(self, name, value): NotImplementedError + + def GetInt64Config(self, name): NotImplementedError + def SetInt64Config(self, name, value): NotImplementedError + + def GetLanguage(self): NotImplementedError + + """ Connection """ + def SendUDPData(self, ipAddress, port, data, amount): NotImplementedError + def SendProtocolCommand(self, connectionData, command): NotImplementedError + def TerminateConnection(self, connectionData, graceLess): NotImplementedError + def GetConnectionUser(self, connectionData): NotImplementedError + + """ Hub """ + def AddHub(self, url, nick, password): NotImplementedError + def FindHub(self, url): NotImplementedError + def RemoveHub(self, hubData): NotImplementedError + def EmulateProtocolCommand(self, hubData, command): NotImplementedError + def SendProtocolCommand(self, hubData, command): NotImplementedError + def SendMessage(self, hubData, message, thirdPerson): NotImplementedError + def LocalMessage(self, hubData, message, messageType): NotImplementedError + def SendPrivateMessage(self, userData, message, thirdPerson): NotImplementedError + def FindUser(self, cid, hubURL): NotImplementedError + + """ Queue """ + def AddList(self, userData, silent): NotImplementedError + def AddDownload(self, hashData, size, target): NotImplementedError + def FindDownload(self, target): NotImplementedError + def RemoveDownload(self, queueData): NotImplementedError + def SetPriority(self, queueData, priority): NotImplementedError + def Pause(self, queueData): NotImplementedError + + """ Tagger """ + def GetText(self, tagData): NotImplementedError + def AddTag(self, tagData, startPlace, endPlace, tagId, attributes): NotImplementedError + def ReplaceTagText(self, tagData, startPlace, endPlace, replacement): NotImplementedError + + """ UI """ + def AddCommand(self, name): NotImplementedError + def RemoveCommand(self, name): NotImplementedError + def PlaySoundInUI(self, path): NotImplementedError + def Notify(self, title, message): NotImplementedError + + """ Other """ + def SendData(self, data): NotImplementedError === added file 'Libraries/PyPlugin.DataTypes/__init__.py'
_______________________________________________ Mailing list: https://launchpad.net/~linuxdcpp-team Post to : linuxdcpp-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~linuxdcpp-team More help : https://help.launchpad.net/ListHelp