X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=purple.pyx;h=be7fbbcc954afdcca607afea3a5aea4cd79e82e9;hp=62f441b36161ef6d5d0f22802cf4e72c06d5283d;hb=a1096cd145faf63a6726fbc43cb5b68f0cf16b0d;hpb=646d7c8d83ca23e69c6ccc67000e33a331418413 diff --git a/purple.pyx b/purple.pyx index 62f441b..be7fbbc 100644 --- a/purple.pyx +++ b/purple.pyx @@ -24,6 +24,8 @@ cdef extern from "c_purple.h": import ecore +include "plugin.pyx" + __DEFAULT_PATH__ = "/tmp" __APP_NAME__ = "carman-purple-python" __APP_VERSION__ = "0.1" @@ -61,6 +63,8 @@ cdef class Purple: @parm default_path: Full path for libpurple user files. """ + cdef Plugins plugins + def __init__(self, debug_enabled=True, app_name=__APP_NAME__, default_path=__DEFAULT_PATH__): if app_name is not __APP_NAME__: __APP_NAME__ = app_name @@ -71,6 +75,7 @@ cdef class Purple: debug.c_purple_debug_set_enabled(debug_enabled) util.c_purple_util_set_user_dir(default_path) plugin.c_purple_plugins_add_search_path(default_path) + self.plugins = Plugins() # adds glib iteration inside ecore main loop ecore.timer_add(0.001, self.__glib_iteration_when_idle) @@ -246,16 +251,7 @@ cdef class Purple: return ret def get_protocols(self): - cdef glib.GList *iter - cdef plugin.PurplePlugin *__plugin - protocols = [] - iter = plugin.c_purple_plugins_get_protocols() - while iter: - __plugin = iter.data - if __plugin.info and __plugin.info.name: - protocols += [(__plugin.info.id, __plugin.info.name)] - iter = iter.next - return protocols + return self.plugins.get_protocols() def connect(self): conn = Connection()