From 41bb8f6643f186e8b2f773bdcd015bd33eb01e56 Mon Sep 17 00:00:00 2001 From: Krzysztof Klinikowski Date: Wed, 7 Apr 2010 07:22:56 +0200 Subject: Important update. Now account parameters should work correctly. --- sunshine/connection.py | 42 ++++++++++++++++++++++++++++++------------ sunshine/connection_manager.py | 22 ++++++++++++---------- 2 files changed, 42 insertions(+), 22 deletions(-) (limited to 'sunshine') diff --git a/sunshine/connection.py b/sunshine/connection.py index 376cf59..18d119b 100644 --- a/sunshine/connection.py +++ b/sunshine/connection.py @@ -207,6 +207,9 @@ class SunshineConnection(telepathy.server.Connection, SunshineContacts ): + _secret_parameters = set([ + 'password' + ]) _mandatory_parameters = { 'account' : 's', 'password' : 's' @@ -214,25 +217,15 @@ class SunshineConnection(telepathy.server.Connection, _optional_parameters = { 'server' : 's', 'port' : 'q', - 'use-ssl' : 'b', 'export-contacts' : 'b' } _parameter_defaults = { 'server' : '91.197.13.67', - 'port' : dbus.UInt16(8074), - 'use-ssl' : dbus.Boolean(False), - 'export-contacts' : dbus.Boolean(False) + 'port' : 8074, + 'export-contacts' : False } def __init__(self, manager, parameters): - try: - parameters['export-contacts'] = bool(parameters['export-contacts']) - except KeyError: - parameters['export-contacts'] = False - try: - parameters['use-ssl'] = bool(parameters['use-ssl']) - except KeyError: - parameters['use-ssl'] = False self.check_parameters(parameters) try: @@ -672,6 +665,31 @@ class SunshineConnection(telepathy.server.Connection, def onXmlAction(self, xml): logger.info("XmlAction: %s" % xml.data) + #event occurs when user from our list change avatar + # + # + # 28 + # 4634020 + # + # + # + # http://avatars.gadu-gadu.pl/small/4634020?ts=1270577383 + # + # + # + try: + tree = ET.fromstring(xml.data) + core = tree.find("event") + type = core.find("type").text + if type == '28': + sender = core.find("sender").text + url = core.find("bodyXML/smallAvatar").text + print type + print sender + print url + except: + pass + def onXmlEvent(self, xml): logger.info("XmlEvent: %s" % xml,data) diff --git a/sunshine/connection_manager.py b/sunshine/connection_manager.py index 3a408bd..b2d99c5 100644 --- a/sunshine/connection_manager.py +++ b/sunshine/connection_manager.py @@ -48,25 +48,27 @@ class SunshineConnectionManager(telepathy.server.ConnectionManager): result = [] connection_class = self._protos[proto] + secret_parameters = connection_class._secret_parameters mandatory_parameters = connection_class._mandatory_parameters optional_parameters = connection_class._optional_parameters default_parameters = connection_class._parameter_defaults for parameter_name, parameter_type in mandatory_parameters.iteritems(): - param = (parameter_name, - telepathy.CONN_MGR_PARAM_FLAG_REQUIRED, - parameter_type, - '') + flags = telepathy.CONN_MGR_PARAM_FLAG_REQUIRED + if parameter_name in secret_parameters: + flags |= telepathy.CONN_MGR_PARAM_FLAG_SECRET + param = (parameter_name, flags, parameter_type, '') result.append(param) for parameter_name, parameter_type in optional_parameters.iteritems(): + flags = 0 + default = '' + if parameter_name in secret_parameters: + flags |= telepathy.CONN_MGR_PARAM_FLAG_SECRET if parameter_name in default_parameters: - param = (parameter_name, - telepathy.CONN_MGR_PARAM_FLAG_HAS_DEFAULT, - parameter_name, - default_parameters[parameter_name]) - else: - param = (parameter_name, 0, parameter_name, '') + flags |= telepathy.CONN_MGR_PARAM_FLAG_HAS_DEFAULT + default = default_parameters[parameter_name] + param = (parameter_name, flags, parameter_type, default) result.append(param) return result -- cgit v1.2.3