X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=plugin.pyx;h=c5b5f937dff55376c6b188872cd30e91f97e6ef4;hp=2b4b8b268e53cae4fa794b19774ef8ac2189f1d4;hb=d1da990adf14944c9f203df523bebaba96b1738d;hpb=0c4b2fc2fa750f43fad87950ad3be33e5d227b3d diff --git a/plugin.pyx b/plugin.pyx index 2b4b8b2..c5b5f93 100644 --- a/plugin.pyx +++ b/plugin.pyx @@ -24,9 +24,14 @@ cdef class Plugin: cdef prpl.PurplePluginProtocolInfo *c_prpl_info cdef plugin.PurplePluginInfo *c_plugin_info + def __init__(self): + pass + + ''' def __init__(self, id): - self.c_plugin = plugin.c_purple_plugins_find_with_id(id) + self.c_plugin = plugin.purple_plugins_find_with_id(id) self.c_prpl_info = plugin.c_PURPLE_PLUGIN_PROTOCOL_INFO(self.c_plugin) + ''' def get_name(self): return self.c_plugin.info.name @@ -42,7 +47,7 @@ cdef class Plugin: protocols = [] - iter = plugin.c_purple_plugins_get_protocols() + iter = plugin.purple_plugins_get_protocols() while iter: pp = iter.data if pp.info and pp.info.name: @@ -71,12 +76,9 @@ cdef class Plugin: c_account = NULL if username: - c_account = account.c_purple_accounts_find(username, id) - if c_account == NULL: - # FIXME: Message error or call a error handler - return None + c_account = account.purple_accounts_find(username, id) - c_plugin = plugin.c_purple_plugins_find_with_id(id) + c_plugin = plugin.purple_plugins_find_with_id(id) c_prpl_info = plugin.c_PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin) po = {} @@ -86,43 +88,38 @@ cdef class Plugin: while iter: option = iter.data - type = accountopt.c_purple_account_option_get_type(option) - label_name = accountopt.c_purple_account_option_get_text(option) - setting = accountopt.c_purple_account_option_get_setting(option) + type = accountopt.purple_account_option_get_type(option) + label_name = accountopt.purple_account_option_get_text(option) + setting = accountopt.purple_account_option_get_setting(option) sett = str( setting) - label = str( lanel_name) + label = str( label_name) if type == prefs.PURPLE_PREF_STRING: - str_value = accountopt.c_purple_account_option_get_default_string(option) - # Google Talk default domain hackery! - if str_value == NULL and label == "Connect server": - str_value = "talk.google.com" + str_value = accountopt.purple_account_option_get_default_string(option) if c_account != NULL: - str_value = account.c_purple_account_get_string(c_account, setting, str_value) + str_value = account.purple_account_get_string(c_account, setting, str_value) val = str( str_value) elif type == prefs.PURPLE_PREF_INT: - int_value = accountopt.c_purple_account_option_get_default_int(option) - if sett == "port": - int_value = int(443) + int_value = accountopt.purple_account_option_get_default_int(option) if c_account != NULL: - int_value = account.c_purple_account_get_int(c_account, setting, int_value) + int_value = account.purple_account_get_int(c_account, setting, int_value) val = int(int_value) elif type == prefs.PURPLE_PREF_BOOLEAN: - bool_value = accountopt.c_purple_account_option_get_default_bool(option) + bool_value = accountopt.purple_account_option_get_default_bool(option) if c_account != NULL: - bool_value = account.c_purple_account_get_bool(c_account, setting, bool_value) + bool_value = account.purple_account_get_bool(c_account, setting, bool_value) val = bool(bool_value) elif type == prefs.PURPLE_PREF_STRING_LIST: - str_value = accountopt.c_purple_account_option_get_default_list_value(option) + str_value = accountopt.purple_account_option_get_default_list_value(option) if c_account != NULL: - str_value = account.c_purple_account_get_string(c_account, setting, str_value) + str_value = account.purple_account_get_string(c_account, setting, str_value) val = str( str_value) @@ -152,12 +149,12 @@ cdef class Plugin: c_account = NULL - c_account = account.c_purple_accounts_find(acc[0], acc[1]) + c_account = account.purple_accounts_find(acc[0], acc[1]) if c_account == NULL: # FIXME: Message error or call a error handler return False - c_plugin = plugin.c_purple_plugins_find_with_id(id) + c_plugin = plugin.purple_plugins_find_with_id(acc[1]) c_prpl_info = plugin.c_PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin) iter = c_prpl_info.protocol_options @@ -165,35 +162,35 @@ cdef class Plugin: while iter: option = iter.data - type = accountopt.c_purple_account_option_get_type(option) - setting = accountopt.c_purple_account_option_get_setting(option) + type = accountopt.purple_account_option_get_type(option) + setting = accountopt.purple_account_option_get_setting(option) sett = str( setting) iter = iter.next - if not po.has_key(sett): + if not po.has_key(sett) or not po[sett]: continue if type == prefs.PURPLE_PREF_STRING: str_value = po[sett] - account.c_purple_account_set_string(c_account, setting, str_value) + account.purple_account_set_string(c_account, setting, str_value) elif type == prefs.PURPLE_PREF_INT: int_value = int(po[sett]) - account.c_purple_account_set_int(c_account, setting, int_value) + account.purple_account_set_int(c_account, setting, int_value) elif type == prefs.PURPLE_PREF_BOOLEAN: bool_value = bool(po[sett]) - account.c_purple_account_set_bool(c_account, setting, bool_value) + account.purple_account_set_bool(c_account, setting, bool_value) elif type == prefs.PURPLE_PREF_STRING_LIST: str_value = po[sett] - account.c_purple_account_set_string(c_account, setting, str_value) + account.purple_account_set_string(c_account, setting, str_value) return True @@ -211,7 +208,7 @@ cdef class Plugins: cdef glib.GList *iter cdef plugin.PurplePlugin *pp protocols = [] - iter = plugin.c_purple_plugins_get_protocols() + iter = plugin.purple_plugins_get_protocols() while iter: pp = iter.data if pp.info and pp.info.name: