From: Bruno Abinader Date: Tue, 9 Dec 2008 14:39:24 +0000 (+0000) Subject: Updated python-purple's debianization. X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=commitdiff_plain;h=6120db5dd8df28c6775fb9c47cd3ceff21dbfb0e;ds=sidebyside Updated python-purple's debianization. FIXES: - Updated python-purple's debianization to support Maemo. - Added cython-made purple.c file. Signed-off-by: Bruno Abinader Acked-by: Anderson Briglia git-svn-id: https://garage.maemo.org/svn/carman/branches/carman-0.7-beta2/python-purple@1654 596f6dd7-e928-0410-a184-9e12fd12cf7e --- diff --git a/debian/control b/debian/control index 6a817d4..08da9c2 100644 --- a/debian/control +++ b/debian/control @@ -2,14 +2,15 @@ Source: python-purple Section: python Priority: optional Maintainer: Bruno Abinader -Build-Depends: cdbs, debhelper, libpurple-dev +Build-Depends: cdbs, debhelper, libpurple-dev, libglib2.0-dev Standards-Version: 3.8.0 Package: python-purple Architecture: any -Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends} -Provides: ${python:Provides} -Suggests: ${shlibs:Suggests}, cython +Depends: python | python2.5, libc6 (>= 2.1.3), libglib2.0-0 (>= 2.12.0), + libpurple0 (>= 2.5.1) +Provides: python2.5-purple +Suggests: cython | python2.5-cython Description: Python bind for libpurple Libpurple is a library intended to be used by programmers seeking to write an IM client that connects to many IM networks. diff --git a/debian/files b/debian/files deleted file mode 100644 index 6e0d65d..0000000 --- a/debian/files +++ /dev/null @@ -1 +0,0 @@ -python-purple_0.1_i386.deb python optional diff --git a/debian/pyversions b/debian/pyversions deleted file mode 100644 index 95e3ba8..0000000 --- a/debian/pyversions +++ /dev/null @@ -1 +0,0 @@ -2.5 diff --git a/debian/rules b/debian/rules index a8f2098..735ac07 100755 --- a/debian/rules +++ b/debian/rules @@ -1,10 +1,37 @@ #!/usr/bin/make -f -# -*- makefile -*- +DEB_DIR=debian/python-purple -DEB_PYTHON_SYSTEM=pysupport +build: -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/python-distutils.mk +clean: + dh_testdir + python2.5 setup_dist.py clean + rm -f `find $(CURDIR) -name '*.py[co]'` + rm -rf build-stamp build + rm -rf $(DEB_DIR) + #rm -rf purple.c + dh_clean install-stamp -install/cython:: -# dh_installman debian/python-purple.1 +install: build install-stamp +install-stamp: + dh_testdir + dh_testroot + dh_installdirs + python2.5 setup_dist.py install --root=$(DEB_DIR) + +binary-indep: build install + dh_testdir + dh_testroot + dh_installdocs + dh_installchangelogs + dh_compress -X.py + dh_fixperms + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +binary-arch: + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install diff --git a/purple.c b/purple.c new file mode 100644 index 0000000..a8c4a07 --- /dev/null +++ b/purple.c @@ -0,0 +1,23985 @@ +/* Generated by Cython 0.10 on Tue Dec 9 09:17:03 2008 */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#include "structmember.h" +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#if PY_VERSION_HEX < 0x02040000 + #define METH_COEXIST 0 +#endif +#if PY_VERSION_HEX < 0x02050000 + typedef int Py_ssize_t; + #define PY_SSIZE_T_MAX INT_MAX + #define PY_SSIZE_T_MIN INT_MIN + #define PyInt_FromSsize_t(z) PyInt_FromLong(z) + #define PyInt_AsSsize_t(o) PyInt_AsLong(o) + #define PyNumber_Index(o) PyNumber_Int(o) + #define PyIndex_Check(o) PyNumber_Check(o) +#endif +#if PY_VERSION_HEX < 0x02060000 + #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) + #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) + #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size) + #define PyVarObject_HEAD_INIT(type, size) \ + PyObject_HEAD_INIT(type) size, + #define PyType_Modified(t) + + typedef struct { + void *buf; + PyObject *obj; + Py_ssize_t len; + Py_ssize_t itemsize; + int readonly; + int ndim; + char *format; + Py_ssize_t *shape; + Py_ssize_t *strides; + Py_ssize_t *suboffsets; + void *internal; + } Py_buffer; + + #define PyBUF_SIMPLE 0 + #define PyBUF_WRITABLE 0x0001 + #define PyBUF_LOCK 0x0002 + #define PyBUF_FORMAT 0x0004 + #define PyBUF_ND 0x0008 + #define PyBUF_STRIDES (0x0010 | PyBUF_ND) + #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) + #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) + #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) + #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) + +#endif +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" +#endif +#if PY_MAJOR_VERSION >= 3 + #define Py_TPFLAGS_CHECKTYPES 0 + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyString_Type PyBytes_Type + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define PyBytes_Type PyString_Type +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif +#else + #define _USE_MATH_DEFINES +#endif +#ifdef __cplusplus +#define __PYX_EXTERN_C extern "C" +#else +#define __PYX_EXTERN_C extern +#endif +#include +#define __PYX_HAVE_API__purple +#include "libpurple/purple.h" +#include "c_purple.h" +#include "glib.h" +#include "libpurple/blist.h" +#include "libpurple/connection.h" +#include "libpurple/log.h" +#include "libpurple/proxy.h" +#include "libpurple/status.h" +#include "libpurple/account.h" +#include "libpurple/prefs.h" +#include "libpurple/accountopt.h" +#include "libpurple/buddyicon.h" +#include "libpurple/plugin.h" +#include "libpurple/prpl.h" +#include "time.h" +#include "libpurple/conversation.h" +#include "libpurple/core.h" +#include "libpurple/debug.h" +#include "libpurple/eventloop.h" +#include "libpurple/ft.h" +#include "libpurple/idle.h" +#include "libpurple/notify.h" +#include "libpurple/pounce.h" +#include "libpurple/privacy.h" +#include "libpurple/request.h" +#include "libpurple/roomlist.h" +#include "libpurple/server.h" +#include "libpurple/signals.h" +#include "libpurple/value.h" +#include "libpurple/savedstatuses.h" +#include "libpurple/xmlnode.h" +#include "libpurple/util.h" + + +#ifdef __GNUC__ +#define INLINE __inline__ +#elif _WIN32 +#define INLINE __inline +#else +#define INLINE +#endif + +typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/ + + + +static int __pyx_skip_dispatch = 0; + + +/* Type Conversion Predeclarations */ + +#if PY_MAJOR_VERSION < 3 +#define __Pyx_PyBytes_FromString PyString_FromString +#define __Pyx_PyBytes_AsString PyString_AsString +#else +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_AsString PyBytes_AsString +#endif + +#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) +static INLINE int __Pyx_PyObject_IsTrue(PyObject* x); +static INLINE PY_LONG_LONG __pyx_PyInt_AsLongLong(PyObject* x); +static INLINE unsigned PY_LONG_LONG __pyx_PyInt_AsUnsignedLongLong(PyObject* x); +static INLINE Py_ssize_t __pyx_PyIndex_AsSsize_t(PyObject* b); + +#define __pyx_PyInt_AsLong(x) (PyInt_CheckExact(x) ? PyInt_AS_LONG(x) : PyInt_AsLong(x)) +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) + +static INLINE unsigned char __pyx_PyInt_unsigned_char(PyObject* x); +static INLINE unsigned short __pyx_PyInt_unsigned_short(PyObject* x); +static INLINE char __pyx_PyInt_char(PyObject* x); +static INLINE short __pyx_PyInt_short(PyObject* x); +static INLINE int __pyx_PyInt_int(PyObject* x); +static INLINE long __pyx_PyInt_long(PyObject* x); +static INLINE signed char __pyx_PyInt_signed_char(PyObject* x); +static INLINE signed short __pyx_PyInt_signed_short(PyObject* x); +static INLINE signed int __pyx_PyInt_signed_int(PyObject* x); +static INLINE signed long __pyx_PyInt_signed_long(PyObject* x); +static INLINE long double __pyx_PyInt_long_double(PyObject* x); +#ifdef __GNUC__ +/* Test for GCC > 2.95 */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) +#define likely(x) __builtin_expect(!!(x), 1) +#define unlikely(x) __builtin_expect(!!(x), 0) +#else /* __GNUC__ > 2 ... */ +#define likely(x) (x) +#define unlikely(x) (x) +#endif /* __GNUC__ > 2 ... */ +#else /* __GNUC__ */ +#define likely(x) (x) +#define unlikely(x) (x) +#endif /* __GNUC__ */ + +static PyObject *__pyx_m; +static PyObject *__pyx_b; +static PyObject *__pyx_empty_tuple; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; +static const char **__pyx_f; + +static INLINE PyObject *__Pyx_GetItemInt(PyObject *o, Py_ssize_t i, int is_unsigned) { + PyObject *r; + if (PyList_CheckExact(o) && 0 <= i && i < PyList_GET_SIZE(o)) { + r = PyList_GET_ITEM(o, i); + Py_INCREF(r); + } + else if (PyTuple_CheckExact(o) && 0 <= i && i < PyTuple_GET_SIZE(o)) { + r = PyTuple_GET_ITEM(o, i); + Py_INCREF(r); + } + else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0) || !is_unsigned)) + r = PySequence_GetItem(o, i); + else { + PyObject *j = (likely(i >= 0) || !is_unsigned) ? PyInt_FromLong(i) : PyLong_FromUnsignedLongLong((sizeof(unsigned long long) > sizeof(Py_ssize_t) ? (1ULL << (sizeof(Py_ssize_t)*8)) : 0) + i); + if (!j) + return 0; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + } + return r; +} + +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, PyObject* kw_name); /*proto*/ + +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ + +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ + +static INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, + const char* function_name, int kw_allowed); /*proto*/ + +static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, + const char *name, int exact); /*proto*/ + +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ + +static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ + +static INLINE PyObject* __Pyx_PyObject_Append(PyObject* L, PyObject* x) { + if (likely(PyList_CheckExact(L))) { + if (PyList_Append(L, x) < 0) return NULL; + Py_INCREF(Py_None); + return Py_None; // this is just to have an accurate signature + } + else { + return PyObject_CallMethod(L, "append", "(O)", x); + } +} + +static void __Pyx_WriteUnraisable(const char *name); /*proto*/ + +static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ +static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ + +static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/ + +static void __Pyx_AddTraceback(const char *funcname); /*proto*/ + +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ + +/* Type declarations */ + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":22 + * cimport purple + * + * cdef class Buddy: # <<<<<<<<<<<<<< + * """ + * Buddy class + */ + +struct __pyx_obj_6purple_Buddy { + PyObject_HEAD + struct __pyx_vtabstruct_6purple_Buddy *__pyx_vtab; + PyObject *__account; + PyObject *__name; + PyObject *__exists; +}; + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":61 + * include "util.pxd" + * + * cdef class Purple: # <<<<<<<<<<<<<< + * """ Purple class. + * + */ + +struct __pyx_obj_6purple_Purple { + PyObject_HEAD + struct __pyx_vtabstruct_6purple_Purple *__pyx_vtab; +}; + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":56 + * USE_ENVVAR = property(get_USE_ENVVAR) + * + * cdef class ProxyInfo: # <<<<<<<<<<<<<< + * + * cdef proxy.PurpleProxyInfo *c_proxyinfo + */ + +struct __pyx_obj_6purple_ProxyInfo { + PyObject_HEAD + PurpleProxyInfo *c_proxyinfo; + PyObject *types; +}; + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":22 + * cimport purple + * + * cdef class Protocol: # <<<<<<<<<<<<<< + * """ + * Protocol class + */ + +struct __pyx_obj_6purple_Protocol { + PyObject_HEAD + struct __pyx_vtabstruct_6purple_Protocol *__pyx_vtab; + PyObject *__id; + PyObject *__exists; +}; + +struct __pyx_obj_6purple_ProxyInfoType { + PyObject_HEAD + PurpleProxyType c_type; +}; + +struct __pyx_obj_6purple_Conversation { + PyObject_HEAD + struct __pyx_vtabstruct_6purple_Conversation *__pyx_vtab; + PyObject *__account; + PyObject *__name; + PyObject *__type; + PyObject *__exists; +}; + +struct __pyx_obj_6purple_Account { + PyObject_HEAD + struct __pyx_vtabstruct_6purple_Account *__pyx_vtab; + PyObject *__username; + PyObject *__protocol; + PyObject *__core; + PyObject *__exists; +}; + + +struct __pyx_vtabstruct_6purple_Protocol { + PurplePlugin *(*_get_structure)(struct __pyx_obj_6purple_Protocol *); +}; +static struct __pyx_vtabstruct_6purple_Protocol *__pyx_vtabptr_6purple_Protocol; + + +struct __pyx_vtabstruct_6purple_Buddy { + PurpleBuddy *(*_get_structure)(struct __pyx_obj_6purple_Buddy *); +}; +static struct __pyx_vtabstruct_6purple_Buddy *__pyx_vtabptr_6purple_Buddy; + + +struct __pyx_vtabstruct_6purple_Conversation { + PurpleConversation *(*_get_structure)(struct __pyx_obj_6purple_Conversation *); +}; +static struct __pyx_vtabstruct_6purple_Conversation *__pyx_vtabptr_6purple_Conversation; + + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":61 + * include "util.pxd" + * + * cdef class Purple: # <<<<<<<<<<<<<< + * """ Purple class. + * + */ + +struct __pyx_vtabstruct_6purple_Purple { + void (*__core_ui_ops_ui_prefs_init)(struct __pyx_obj_6purple_Purple *); + void (*__core_ui_ops_debug_init)(struct __pyx_obj_6purple_Purple *); + void (*__core_ui_ops_ui_init)(struct __pyx_obj_6purple_Purple *); + void (*__core_ui_ops_quit)(struct __pyx_obj_6purple_Purple *); + GHashTable *(*__core_ui_ops_get_ui_info)(struct __pyx_obj_6purple_Purple *); +}; +static struct __pyx_vtabstruct_6purple_Purple *__pyx_vtabptr_6purple_Purple; + + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":22 + * cimport purple + * + * cdef class Account: # <<<<<<<<<<<<<< + * """ + * Account class + */ + +struct __pyx_vtabstruct_6purple_Account { + PurpleAccount *(*_get_structure)(struct __pyx_obj_6purple_Account *); +}; +static struct __pyx_vtabstruct_6purple_Account *__pyx_vtabptr_6purple_Account; +/* Module declarations from glib */ + +/* Module declarations from account */ + +/* Module declarations from prefs */ + +/* Module declarations from accountopt */ + +/* Module declarations from buddyicon */ + +/* Module declarations from blist */ + +/* Module declarations from prpl */ + +/* Module declarations from plugin */ + +/* Module declarations from connection */ + +/* Module declarations from conversation */ + +/* Module declarations from core */ + +/* Module declarations from debug */ + +/* Module declarations from eventloop */ + +/* Module declarations from ft */ + +/* Module declarations from idle */ + +/* Module declarations from notify */ + +/* Module declarations from pounce */ + +/* Module declarations from privacy */ + +/* Module declarations from proxy */ + +/* Module declarations from request */ + +/* Module declarations from roomlist */ + +/* Module declarations from server */ + +/* Module declarations from signals */ + +/* Module declarations from value */ + +/* Module declarations from status */ + +/* Module declarations from savedstatuses */ + +/* Module declarations from xmlnode */ + +/* Module declarations from util */ + +/* Module declarations from purple */ + +static PyTypeObject *__pyx_ptype_6purple_Purple = 0; +static PyTypeObject *__pyx_ptype_6purple_Protocol = 0; +static PyTypeObject *__pyx_ptype_6purple_ProxyInfoType = 0; +static PyTypeObject *__pyx_ptype_6purple_ProxyInfo = 0; +static PyTypeObject *__pyx_ptype_6purple_Account = 0; +static PyTypeObject *__pyx_ptype_6purple_Buddy = 0; +static PyTypeObject *__pyx_ptype_6purple_Conversation = 0; +static GHashTable *__pyx_v_6purple_c_ui_info; +static char *__pyx_v_6purple_c_ui_name; +static char *__pyx_v_6purple_c_ui_version; +static char *__pyx_v_6purple_c_ui_website; +static char *__pyx_v_6purple_c_ui_dev_website; +static PurpleAccountUiOps __pyx_v_6purple_c_account_ui_ops; +static PurpleBlistUiOps __pyx_v_6purple_c_blist_ui_ops; +static PurpleConnectionUiOps __pyx_v_6purple_c_conn_ui_ops; +static PurpleConversationUiOps __pyx_v_6purple_c_conv_ui_ops; +static PurpleCoreUiOps __pyx_v_6purple_c_core_ui_ops; +static PurpleEventLoopUiOps __pyx_v_6purple_c_eventloop_ui_ops; +static PurpleNotifyUiOps __pyx_v_6purple_c_notify_ui_ops; +static PurpleRequestUiOps __pyx_v_6purple_c_request_ui_ops; +static PurpleAccountRequestAuthorizationCb __pyx_v_6purple_c_request_authorize_authorize_cb; +static PurpleAccountRequestAuthorizationCb __pyx_v_6purple_c_request_authorize_deny_cb; +static void *__pyx_v_6purple_c_request_authorize_user_data; +static void __pyx_f_6purple_notify_added(PurpleAccount *, const char *, const char *, const char *, const char *); /*proto*/ +static void __pyx_f_6purple_status_changed(PurpleAccount *, PurpleStatus *); /*proto*/ +static void __pyx_f_6purple_request_add(PurpleAccount *, const char *, const char *, const char *, const char *); /*proto*/ +static void *__pyx_f_6purple_request_authorize(PurpleAccount *, const char *, const char *, const char *, const char *, gboolean, PurpleAccountRequestAuthorizationCb, PurpleAccountRequestAuthorizationCb, void *); /*proto*/ +static void __pyx_f_6purple_close_account_request(void *); /*proto*/ +static void __pyx_f_6purple___group_node_cb(PurpleBlistNode *, PyObject *); /*proto*/ +static void __pyx_f_6purple___contact_node_cb(PurpleBlistNode *, PyObject *); /*proto*/ +static void __pyx_f_6purple___buddy_node_cb(PurpleBlistNode *, PyObject *); /*proto*/ +static void __pyx_f_6purple___chat_node_cb(PurpleBlistNode *, PyObject *); /*proto*/ +static void __pyx_f_6purple___other_node_cb(PurpleBlistNode *, PyObject *); /*proto*/ +static void __pyx_f_6purple_new_list(PurpleBuddyList *); /*proto*/ +static void __pyx_f_6purple_new_node(PurpleBlistNode *); /*proto*/ +static void __pyx_f_6purple_show(PurpleBuddyList *); /*proto*/ +static void __pyx_f_6purple_update(PurpleBuddyList *, PurpleBlistNode *); /*proto*/ +static void __pyx_f_6purple_remove(PurpleBuddyList *, PurpleBlistNode *); /*proto*/ +static void __pyx_f_6purple_destroy(PurpleBuddyList *); /*proto*/ +static void __pyx_f_6purple_set_visible(PurpleBuddyList *, gboolean); /*proto*/ +static void __pyx_f_6purple_request_add_buddy(PurpleAccount *, const char *, const char *, const char *); /*proto*/ +static void __pyx_f_6purple_request_add_chat(PurpleAccount *, PurpleGroup *, const char *, const char *); /*proto*/ +static void __pyx_f_6purple_request_add_group(void); /*proto*/ +static void __pyx_f_6purple_connect_progress(PurpleConnection *, const char *, size_t, size_t); /*proto*/ +static void __pyx_f_6purple_connected(PurpleConnection *); /*proto*/ +static void __pyx_f_6purple_disconnected(PurpleConnection *); /*proto*/ +static void __pyx_f_6purple_notice(PurpleConnection *, const char *); /*proto*/ +static void __pyx_f_6purple_report_disconnect(PurpleConnection *, const char *); /*proto*/ +static void __pyx_f_6purple_network_connected(void); /*proto*/ +static void __pyx_f_6purple_network_disconnected(void); /*proto*/ +static void __pyx_f_6purple_report_disconnect_reason(PurpleConnection *, PurpleConnectionError, const char *); /*proto*/ +static void __pyx_f_6purple_create_conversation(PurpleConversation *); /*proto*/ +static void __pyx_f_6purple_destroy_conversation(PurpleConversation *); /*proto*/ +static void __pyx_f_6purple_write_chat(PurpleConversation *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/ +static void __pyx_f_6purple_write_im(PurpleConversation *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/ +static void __pyx_f_6purple_write_conv(PurpleConversation *, const char *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/ +static void __pyx_f_6purple_chat_add_users(PurpleConversation *, GList *, gboolean); /*proto*/ +static void __pyx_f_6purple_chat_rename_user(PurpleConversation *, const char *, const char *, const char *); /*proto*/ +static void __pyx_f_6purple_chat_remove_users(PurpleConversation *, GList *); /*proto*/ +static void __pyx_f_6purple_chat_update_user(PurpleConversation *, const char *); /*proto*/ +static void __pyx_f_6purple_present(PurpleConversation *); /*proto*/ +static gboolean __pyx_f_6purple_has_focus(PurpleConversation *); /*proto*/ +static gboolean __pyx_f_6purple_custom_smiley_add(PurpleConversation *, const char *, gboolean); /*proto*/ +static void __pyx_f_6purple_custom_smiley_write(PurpleConversation *, const char *, const guchar *, gsize); /*proto*/ +static void __pyx_f_6purple_custom_smiley_close(PurpleConversation *, const char *); /*proto*/ +static void __pyx_f_6purple_send_confirm(PurpleConversation *, const char *); /*proto*/ +static void *__pyx_f_6purple_notify_message(PurpleNotifyMsgType, const char *, const char *, const char *); /*proto*/ +static void *__pyx_f_6purple_notify_email(PurpleConnection *, const char *, const char *, const char *, const char *); /*proto*/ +static void *__pyx_f_6purple_notify_emails(PurpleConnection *, size_t, gboolean, const char **, const char **, const char **, const char **); /*proto*/ +static void *__pyx_f_6purple_notify_formatted(const char *, const char *, const char *, const char *); /*proto*/ +static void *__pyx_f_6purple_notify_searchresults(PurpleConnection *, const char *, const char *, const char *, PurpleNotifySearchResults *, gpointer); /*proto*/ +static void __pyx_f_6purple_notify_searchresults_new_rows(PurpleConnection *, PurpleNotifySearchResults *, void *); /*proto*/ +static void *__pyx_f_6purple_notify_userinfo(PurpleConnection *, const char *, PurpleNotifyUserInfo *); /*proto*/ +static void *__pyx_f_6purple_notify_uri(const char *); /*proto*/ +static void __pyx_f_6purple_close_notify(PurpleNotifyType, void *); /*proto*/ +static void *__pyx_f_6purple_request_input(const char *, const char *, const char *, const char *, gboolean, gboolean, gchar *, const char *, GCallback, const char *, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/ +static void *__pyx_f_6purple_request_choice(const char *, const char *, const char *, int, const char *, GCallback, const char *, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *, va_list); /*proto*/ +static void *__pyx_f_6purple_request_action(const char *, const char *, const char *, int, PurpleAccount *, const char *, PurpleConversation *, void *, size_t, va_list); /*proto*/ +static void *__pyx_f_6purple_request_fields(const char *, const char *, const char *, PurpleRequestFields *, const char *, GCallback, const char *, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/ +static void *__pyx_f_6purple_request_file(const char *, const char *, gboolean, GCallback, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/ +static void __pyx_f_6purple_close_request(PurpleRequestType, void *); /*proto*/ +static void *__pyx_f_6purple_request_folder(const char *, const char *, GCallback, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/ +static void __pyx_f_6purple_signal_signed_on_cb(PurpleConnection *, gpointer); /*proto*/ +static void __pyx_f_6purple_signal_signed_off_cb(PurpleConnection *, gpointer); /*proto*/ +static void __pyx_f_6purple_signal_connection_error_cb(PurpleConnection *, PurpleConnectionError, const gchar *); /*proto*/ +static void __pyx_f_6purple_signal_buddy_signed_on_cb(PurpleBuddy *); /*proto*/ +static void __pyx_f_6purple_signal_buddy_signed_off_cb(PurpleBuddy *); /*proto*/ +static gboolean __pyx_f_6purple_signal_receiving_im_msg_cb(PurpleAccount *, char **, char **, PurpleConversation *, PurpleMessageFlags *); /*proto*/ +static void __pyx_f_6purple_jabber_receiving_xmlnode_cb(PurpleConnection *, xmlnode **, gpointer); /*proto*/ + + +/* Implementation of purple */ +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_2; +static PyObject *__pyx_int_3; +static PyObject *__pyx_int_4; +static PyObject *__pyx_int_5; +static PyObject *__pyx_int_6; +static PyObject *__pyx_int_7; +static PyObject *__pyx_int_8; +static PyObject *__pyx_int_9; +static PyObject *__pyx_int_10; +static PyObject *__pyx_int_11; +static PyObject *__pyx_int_12; +static PyObject *__pyx_int_13; +static PyObject *__pyx_int_14; +static PyObject *__pyx_int_15; +static PyObject *__pyx_int_16; +static char __pyx_k___init__[] = "__init__"; +static PyObject *__pyx_kp___init__; +static char __pyx_k_destroy[] = "destroy"; +static PyObject *__pyx_kp_destroy; +static char __pyx_k___get_ui_name[] = "__get_ui_name"; +static PyObject *__pyx_kp___get_ui_name; +static char __pyx_k_ui_name[] = "ui_name"; +static PyObject *__pyx_kp_ui_name; +static char __pyx_k_1[] = "__glib_iteration_when_idle"; +static PyObject *__pyx_kp_1; +static char __pyx_k_purple_init[] = "purple_init"; +static PyObject *__pyx_kp_purple_init; +static char __pyx_k_add_callback[] = "add_callback"; +static PyObject *__pyx_kp_add_callback; +static char __pyx_k_signal_connect[] = "signal_connect"; +static PyObject *__pyx_kp_signal_connect; +static char __pyx_k_accounts_get_all[] = "accounts_get_all"; +static PyObject *__pyx_kp_accounts_get_all; +static char __pyx_k_2[] = "accounts_get_all_active"; +static PyObject *__pyx_kp_2; +static char __pyx_k_protocols_get_all[] = "protocols_get_all"; +static PyObject *__pyx_kp_protocols_get_all; +static char __pyx_k___get_exists[] = "__get_exists"; +static PyObject *__pyx_kp___get_exists; +static char __pyx_k_exists[] = "exists"; +static PyObject *__pyx_kp_exists; +static char __pyx_k___get_id[] = "__get_id"; +static PyObject *__pyx_kp___get_id; +static char __pyx_k_id[] = "id"; +static PyObject *__pyx_kp_id; +static char __pyx_k___get_name[] = "__get_name"; +static PyObject *__pyx_kp___get_name; +static char __pyx_k_name[] = "name"; +static PyObject *__pyx_kp_name; +static char __pyx_k_3[] = "__get_options_labels"; +static PyObject *__pyx_kp_3; +static char __pyx_k_options_labels[] = "options_labels"; +static PyObject *__pyx_kp_options_labels; +static char __pyx_k_4[] = "__get_options_values"; +static PyObject *__pyx_kp_4; +static char __pyx_k_options_values[] = "options_values"; +static PyObject *__pyx_kp_options_values; +static char __pyx_k_get_NONE[] = "get_NONE"; +static PyObject *__pyx_kp_get_NONE; +static char __pyx_k_NONE[] = "NONE"; +static PyObject *__pyx_kp_NONE; +static char __pyx_k_get_USE_GLOBAL[] = "get_USE_GLOBAL"; +static PyObject *__pyx_kp_get_USE_GLOBAL; +static char __pyx_k_USE_GLOBAL[] = "USE_GLOBAL"; +static PyObject *__pyx_kp_USE_GLOBAL; +static char __pyx_k_get_HTTP[] = "get_HTTP"; +static PyObject *__pyx_kp_get_HTTP; +static char __pyx_k_HTTP[] = "HTTP"; +static PyObject *__pyx_kp_HTTP; +static char __pyx_k_5[] = "get_SOCKS4"; +static PyObject *__pyx_kp_5; +static char __pyx_k_6[] = "get_SOCKS5"; +static PyObject *__pyx_kp_6; +static char __pyx_k_get_USE_ENVVAR[] = "get_USE_ENVVAR"; +static PyObject *__pyx_kp_get_USE_ENVVAR; +static char __pyx_k_USE_ENVVAR[] = "USE_ENVVAR"; +static PyObject *__pyx_kp_USE_ENVVAR; +static char __pyx_k_set_type[] = "set_type"; +static PyObject *__pyx_kp_set_type; +static char __pyx_k_set_host[] = "set_host"; +static PyObject *__pyx_kp_set_host; +static char __pyx_k_set_port[] = "set_port"; +static PyObject *__pyx_kp_set_port; +static char __pyx_k_set_username[] = "set_username"; +static PyObject *__pyx_kp_set_username; +static char __pyx_k_set_password[] = "set_password"; +static PyObject *__pyx_kp_set_password; +static char __pyx_k_get_types[] = "get_types"; +static PyObject *__pyx_kp_get_types; +static char __pyx_k_set_info[] = "set_info"; +static PyObject *__pyx_kp_set_info; +static char __pyx_k___is_connected[] = "__is_connected"; +static PyObject *__pyx_kp___is_connected; +static char __pyx_k_is_connected[] = "is_connected"; +static PyObject *__pyx_kp_is_connected; +static char __pyx_k___is_connecting[] = "__is_connecting"; +static PyObject *__pyx_kp___is_connecting; +static char __pyx_k_is_connecting[] = "is_connecting"; +static PyObject *__pyx_kp_is_connecting; +static char __pyx_k___is_disconnected[] = "__is_disconnected"; +static PyObject *__pyx_kp___is_disconnected; +static char __pyx_k_is_disconnected[] = "is_disconnected"; +static PyObject *__pyx_kp_is_disconnected; +static char __pyx_k___get_core[] = "__get_core"; +static PyObject *__pyx_kp___get_core; +static char __pyx_k_core[] = "core"; +static PyObject *__pyx_kp_core; +static char __pyx_k___get_username[] = "__get_username"; +static PyObject *__pyx_kp___get_username; +static char __pyx_k_username[] = "username"; +static PyObject *__pyx_kp_username; +static char __pyx_k___get_protocol[] = "__get_protocol"; +static PyObject *__pyx_kp___get_protocol; +static char __pyx_k_protocol[] = "protocol"; +static PyObject *__pyx_kp_protocol; +static char __pyx_k_7[] = "_get_protocol_options"; +static PyObject *__pyx_kp_7; +static char __pyx_k_protocol_options[] = "protocol_options"; +static PyObject *__pyx_kp_protocol_options; +static char __pyx_k___get_password[] = "__get_password"; +static PyObject *__pyx_kp___get_password; +static char __pyx_k_password[] = "password"; +static PyObject *__pyx_kp_password; +static char __pyx_k___get_alias[] = "__get_alias"; +static PyObject *__pyx_kp___get_alias; +static char __pyx_k_alias[] = "alias"; +static PyObject *__pyx_kp_alias; +static char __pyx_k___get_user_info[] = "__get_user_info"; +static PyObject *__pyx_kp___get_user_info; +static char __pyx_k_user_info[] = "user_info"; +static PyObject *__pyx_kp_user_info; +static char __pyx_k_8[] = "__get_remember_password"; +static PyObject *__pyx_kp_8; +static char __pyx_k_remember_password[] = "remember_password"; +static PyObject *__pyx_kp_remember_password; +static char __pyx_k___get_enabled[] = "__get_enabled"; +static PyObject *__pyx_kp___get_enabled; +static char __pyx_k_enabled[] = "enabled"; +static PyObject *__pyx_kp_enabled; +static char __pyx_k___get_status_types[] = "__get_status_types"; +static PyObject *__pyx_kp___get_status_types; +static char __pyx_k_status_types[] = "status_types"; +static PyObject *__pyx_kp_status_types; +static char __pyx_k___get_active_status[] = "__get_active_status"; +static PyObject *__pyx_kp___get_active_status; +static char __pyx_k_active_status[] = "active_status"; +static PyObject *__pyx_kp_active_status; +static char __pyx_k_set_protocol[] = "set_protocol"; +static PyObject *__pyx_kp_set_protocol; +static char __pyx_k_9[] = "set_protocol_options"; +static PyObject *__pyx_kp_9; +static char __pyx_k_set_alias[] = "set_alias"; +static PyObject *__pyx_kp_set_alias; +static char __pyx_k_set_user_info[] = "set_user_info"; +static PyObject *__pyx_kp_set_user_info; +static char __pyx_k_10[] = "set_remember_password"; +static PyObject *__pyx_kp_10; +static char __pyx_k_set_enabled[] = "set_enabled"; +static PyObject *__pyx_kp_set_enabled; +static char __pyx_k_new[] = "new"; +static PyObject *__pyx_kp_new; +static char __pyx_k_remove[] = "remove"; +static PyObject *__pyx_kp_remove; +static char __pyx_k_connect[] = "connect"; +static PyObject *__pyx_kp_connect; +static char __pyx_k_disconnect[] = "disconnect"; +static PyObject *__pyx_kp_disconnect; +static char __pyx_k_add_buddy[] = "add_buddy"; +static PyObject *__pyx_kp_add_buddy; +static char __pyx_k_remove_buddy[] = "remove_buddy"; +static PyObject *__pyx_kp_remove_buddy; +static char __pyx_k_get_buddies_online[] = "get_buddies_online"; +static PyObject *__pyx_kp_get_buddies_online; +static char __pyx_k_request_add_buddy[] = "request_add_buddy"; +static PyObject *__pyx_kp_request_add_buddy; +static char __pyx_k_set_active_status[] = "set_active_status"; +static PyObject *__pyx_kp_set_active_status; +static char __pyx_k_set_status_message[] = "set_status_message"; +static PyObject *__pyx_kp_set_status_message; +static char __pyx_k___get_account[] = "__get_account"; +static PyObject *__pyx_kp___get_account; +static char __pyx_k_account[] = "account"; +static PyObject *__pyx_kp_account; +static char __pyx_k___get_group[] = "__get_group"; +static PyObject *__pyx_kp___get_group; +static char __pyx_k_group[] = "group"; +static PyObject *__pyx_kp_group; +static char __pyx_k___get_server_alias[] = "__get_server_alias"; +static PyObject *__pyx_kp___get_server_alias; +static char __pyx_k_server_alias[] = "server_alias"; +static PyObject *__pyx_kp_server_alias; +static char __pyx_k___get_contact_alias[] = "__get_contact_alias"; +static PyObject *__pyx_kp___get_contact_alias; +static char __pyx_k_contact_alias[] = "contact_alias"; +static PyObject *__pyx_kp_contact_alias; +static char __pyx_k___get_local_alias[] = "__get_local_alias"; +static PyObject *__pyx_kp___get_local_alias; +static char __pyx_k_local_alias[] = "local_alias"; +static PyObject *__pyx_kp_local_alias; +static char __pyx_k___get_available[] = "__get_available"; +static PyObject *__pyx_kp___get_available; +static char __pyx_k_available[] = "available"; +static PyObject *__pyx_kp_available; +static char __pyx_k___get_online[] = "__get_online"; +static PyObject *__pyx_kp___get_online; +static char __pyx_k_online[] = "online"; +static PyObject *__pyx_kp_online; +static char __pyx_k___get_idle[] = "__get_idle"; +static PyObject *__pyx_kp___get_idle; +static char __pyx_k_idle[] = "idle"; +static PyObject *__pyx_kp_idle; +static char __pyx_k_set_group[] = "set_group"; +static PyObject *__pyx_kp_set_group; +static char __pyx_k_set_ui_ops[] = "set_ui_ops"; +static PyObject *__pyx_kp_set_ui_ops; +static char __pyx_k_im_send[] = "im_send"; +static PyObject *__pyx_kp_im_send; +static char __pyx_k_message[] = "message"; +static PyObject *__pyx_kp_message; +static char __pyx_k_ui_version[] = "ui_version"; +static PyObject *__pyx_kp_ui_version; +static char __pyx_k_ui_website[] = "ui_website"; +static PyObject *__pyx_kp_ui_website; +static char __pyx_k_ui_dev_website[] = "ui_dev_website"; +static PyObject *__pyx_kp_ui_dev_website; +static char __pyx_k_debug_enabled[] = "debug_enabled"; +static PyObject *__pyx_kp_debug_enabled; +static char __pyx_k_default_path[] = "default_path"; +static PyObject *__pyx_kp_default_path; +static char __pyx_k_type[] = "type"; +static PyObject *__pyx_kp_type; +static char __pyx_k_callback[] = "callback"; +static PyObject *__pyx_kp_callback; +static char __pyx_k_cb[] = "cb"; +static PyObject *__pyx_kp_cb; +static char __pyx_k_host[] = "host"; +static PyObject *__pyx_kp_host; +static char __pyx_k_port[] = "port"; +static PyObject *__pyx_kp_port; +static char __pyx_k_acc[] = "acc"; +static PyObject *__pyx_kp_acc; +static char __pyx_k_info[] = "info"; +static PyObject *__pyx_kp_info; +static char __pyx_k_po[] = "po"; +static PyObject *__pyx_kp_po; +static char __pyx_k_value[] = "value"; +static PyObject *__pyx_kp_value; +static char __pyx_k_buddy_username[] = "buddy_username"; +static PyObject *__pyx_kp_buddy_username; +static char __pyx_k_buddy_alias[] = "buddy_alias"; +static PyObject *__pyx_kp_buddy_alias; +static char __pyx_k_msg[] = "msg"; +static PyObject *__pyx_kp_msg; +static char __pyx_k_cbs[] = "cbs"; +static PyObject *__pyx_kp_cbs; +static char __pyx_k_ecore[] = "ecore"; +static PyObject *__pyx_kp_ecore; +static char __pyx_k_account_cbs[] = "account_cbs"; +static PyObject *__pyx_kp_account_cbs; +static char __pyx_k_blist_cbs[] = "blist_cbs"; +static PyObject *__pyx_kp_blist_cbs; +static char __pyx_k_connection_cbs[] = "connection_cbs"; +static PyObject *__pyx_kp_connection_cbs; +static char __pyx_k_conversation_cbs[] = "conversation_cbs"; +static PyObject *__pyx_kp_conversation_cbs; +static char __pyx_k_notify_cbs[] = "notify_cbs"; +static PyObject *__pyx_kp_notify_cbs; +static char __pyx_k_request_cbs[] = "request_cbs"; +static PyObject *__pyx_kp_request_cbs; +static char __pyx_k_signal_cbs[] = "signal_cbs"; +static PyObject *__pyx_kp_signal_cbs; +static char __pyx_k_property[] = "property"; +static PyObject *__pyx_kp_property; +static char __pyx_k_has_key[] = "has_key"; +static PyObject *__pyx_kp_has_key; +static char __pyx_k_call_authorize_cb[] = "call_authorize_cb"; +static PyObject *__pyx_kp_call_authorize_cb; +static char __pyx_k_call_deny_cb[] = "call_deny_cb"; +static PyObject *__pyx_kp_call_deny_cb; +static char __pyx_k_54[] = "show"; +static PyObject *__pyx_kp_54; +static char __pyx_k_55[] = "show"; +static PyObject *__pyx_kp_55; +static char __pyx_k_60[] = "update"; +static PyObject *__pyx_kp_60; +static char __pyx_k_61[] = "update"; +static PyObject *__pyx_kp_61; +static char __pyx_k_62[] = "update"; +static PyObject *__pyx_kp_62; +static char __pyx_k_63[] = "update"; +static PyObject *__pyx_kp_63; +static char __pyx_k_64[] = "update"; +static PyObject *__pyx_kp_64; +static char __pyx_k_65[] = "update"; +static PyObject *__pyx_kp_65; +static char __pyx_k_69[] = "remove"; +static PyObject *__pyx_kp_69; +static char __pyx_k_70[] = "remove"; +static PyObject *__pyx_kp_70; +static char __pyx_k_71[] = "remove"; +static PyObject *__pyx_kp_71; +static char __pyx_k_72[] = "remove"; +static PyObject *__pyx_kp_72; +static char __pyx_k_73[] = "remove"; +static PyObject *__pyx_kp_73; +static char __pyx_k_74[] = "remove"; +static PyObject *__pyx_kp_74; +static char __pyx_k_78[] = "destroy"; +static PyObject *__pyx_kp_78; +static char __pyx_k_79[] = "destroy"; +static PyObject *__pyx_kp_79; +static char __pyx_k_112[] = "connected"; +static PyObject *__pyx_kp_112; +static char __pyx_k_113[] = "connected"; +static PyObject *__pyx_kp_113; +static char __pyx_k_118[] = "disconnected"; +static PyObject *__pyx_kp_118; +static char __pyx_k_119[] = "disconnected"; +static PyObject *__pyx_kp_119; +static char __pyx_k_124[] = "notice"; +static PyObject *__pyx_kp_124; +static char __pyx_k_125[] = "notice"; +static PyObject *__pyx_kp_125; +static char __pyx_k_185[] = "SEND"; +static PyObject *__pyx_kp_185; +static char __pyx_k_186[] = "RECV"; +static PyObject *__pyx_kp_186; +static char __pyx_k_222[] = "present"; +static PyObject *__pyx_kp_222; +static char __pyx_k_223[] = "present"; +static PyObject *__pyx_kp_223; +static char __pyx_k_timer_add[] = "timer_add"; +static PyObject *__pyx_kp_timer_add; +static char __pyx_k_c_ui_info[] = "c_ui_info"; +static PyObject *__pyx_kp_c_ui_info; +static char __pyx_k_405[] = "account"; +static PyObject *__pyx_kp_405; +static char __pyx_k_406[] = "blist"; +static PyObject *__pyx_kp_406; +static char __pyx_k_407[] = "connection"; +static PyObject *__pyx_kp_407; +static char __pyx_k_408[] = "conversation"; +static PyObject *__pyx_kp_408; +static char __pyx_k_409[] = "notify"; +static PyObject *__pyx_kp_409; +static char __pyx_k_410[] = "request"; +static PyObject *__pyx_kp_410; +static char __pyx_k_append[] = "append"; +static PyObject *__pyx_kp_append; +static char __pyx_k_427[] = "HTTP"; +static PyObject *__pyx_kp_427; +static char __pyx_k_428[] = "USER_GLOBAL"; +static PyObject *__pyx_kp_428; +static char __pyx_k_429[] = "USE_ENVVAR"; +static PyObject *__pyx_kp_429; +static char __pyx_k_430[] = "SOCKS4"; +static PyObject *__pyx_kp_430; +static char __pyx_k_431[] = "SOCKS5"; +static PyObject *__pyx_kp_431; +static char __pyx_k_432[] = "NONE"; +static PyObject *__pyx_kp_432; +static char __pyx_k_keys[] = "keys"; +static PyObject *__pyx_kp_keys; +static char __pyx_k_433[] = "type"; +static PyObject *__pyx_kp_433; +static char __pyx_k_434[] = "type"; +static PyObject *__pyx_kp_434; +static char __pyx_k_435[] = "type"; +static PyObject *__pyx_kp_435; +static char __pyx_k_436[] = "HTTP"; +static PyObject *__pyx_kp_436; +static char __pyx_k_437[] = "host"; +static PyObject *__pyx_kp_437; +static char __pyx_k_438[] = "host"; +static PyObject *__pyx_kp_438; +static char __pyx_k_439[] = "host"; +static PyObject *__pyx_kp_439; +static char __pyx_k_440[] = "port"; +static PyObject *__pyx_kp_440; +static char __pyx_k_441[] = "port"; +static PyObject *__pyx_kp_441; +static char __pyx_k_442[] = "port"; +static PyObject *__pyx_kp_442; +static char __pyx_k_443[] = "username"; +static PyObject *__pyx_kp_443; +static char __pyx_k_444[] = "username"; +static PyObject *__pyx_kp_444; +static char __pyx_k_445[] = "username"; +static PyObject *__pyx_kp_445; +static char __pyx_k_446[] = "password"; +static PyObject *__pyx_kp_446; +static char __pyx_k_447[] = "password"; +static PyObject *__pyx_kp_447; +static char __pyx_k_448[] = "password"; +static PyObject *__pyx_kp_448; +static char __pyx_k_451[] = "type"; +static PyObject *__pyx_kp_451; +static char __pyx_k_452[] = "name"; +static PyObject *__pyx_kp_452; +static char __pyx_k_453[] = "message"; +static PyObject *__pyx_kp_453; +static char __pyx_k_459[] = "type"; +static PyObject *__pyx_kp_459; +static char __pyx_k_460[] = "name"; +static PyObject *__pyx_kp_460; +static char __pyx_k_461[] = "message"; +static PyObject *__pyx_kp_461; +static char __pyx_k_462[] = "UNKNOWN"; +static PyObject *__pyx_kp_462; +static char __pyx_k_463[] = "IM"; +static PyObject *__pyx_kp_463; +static char __pyx_k_464[] = "CHAT"; +static PyObject *__pyx_kp_464; +static char __pyx_k_465[] = "MISC"; +static PyObject *__pyx_kp_465; +static char __pyx_k_466[] = "ANY"; +static PyObject *__pyx_kp_466; +static PyObject *__pyx_builtin_property; +static PyObject *__pyx_kp_14; +static PyObject *__pyx_kp_15; +static char __pyx_k_11[] = "account"; +static char __pyx_k_12[] = "%s"; +static char __pyx_k_13[] = "notify-added\n"; +static char __pyx_k_14[] = "notify-added"; +static char __pyx_k_15[] = "notify-added"; +static PyObject *__pyx_kp_19; +static PyObject *__pyx_kp_20; +static char __pyx_k_16[] = "account"; +static char __pyx_k_17[] = "%s"; +static char __pyx_k_18[] = "status-changed\n"; +static char __pyx_k_19[] = "status-changed"; +static char __pyx_k_20[] = "status-changed"; +static PyObject *__pyx_kp_24; +static PyObject *__pyx_kp_25; +static char __pyx_k_21[] = "account"; +static char __pyx_k_22[] = "%s"; +static char __pyx_k_23[] = "request-add\n"; +static char __pyx_k_24[] = "request-add"; +static char __pyx_k_25[] = "request-add"; +static PyObject *__pyx_kp_29; +static PyObject *__pyx_kp_30; +static char __pyx_k_26[] = "account"; +static char __pyx_k_27[] = "%s"; +static char __pyx_k_28[] = "request-authorize\n"; +static char __pyx_k_29[] = "request-authorize"; +static char __pyx_k_30[] = "request-authorize"; +static PyObject *__pyx_kp_34; +static PyObject *__pyx_kp_35; +static char __pyx_k_31[] = "account"; +static char __pyx_k_32[] = "%s"; +static char __pyx_k_33[] = "close-account-request\n"; +static char __pyx_k_34[] = "close-account-request"; +static char __pyx_k_35[] = "close-account-request"; +static PyObject *__pyx_kp_39; +static PyObject *__pyx_kp_40; +static PyObject *__pyx_kp_41; +static char __pyx_k_36[] = "blist"; +static char __pyx_k_37[] = "%s"; +static char __pyx_k_38[] = "new-list\n"; +static char __pyx_k_39[] = "new-list"; +static char __pyx_k_40[] = "new-list"; +static char __pyx_k_41[] = "new-list: TODO"; +static PyObject *__pyx_kp_45; +static PyObject *__pyx_kp_46; +static PyObject *__pyx_kp_47; +static PyObject *__pyx_kp_48; +static PyObject *__pyx_kp_49; +static PyObject *__pyx_kp_50; +static char __pyx_k_42[] = "blist"; +static char __pyx_k_43[] = "%s"; +static char __pyx_k_44[] = "new-node\n"; +static char __pyx_k_45[] = "new-node"; +static char __pyx_k_46[] = "new-node"; +static char __pyx_k_47[] = "new-node"; +static char __pyx_k_48[] = "new-node"; +static char __pyx_k_49[] = "new-node"; +static char __pyx_k_50[] = "new-node"; +static PyObject *__pyx_kp_56; +static char __pyx_k_51[] = "blist"; +static char __pyx_k_52[] = "%s"; +static char __pyx_k_53[] = "show\n"; +static char __pyx_k_56[] = "show: TODO"; +static char __pyx_k_57[] = "blist"; +static char __pyx_k_58[] = "%s"; +static char __pyx_k_59[] = "update\n"; +static char __pyx_k_66[] = "blist"; +static char __pyx_k_67[] = "%s"; +static char __pyx_k_68[] = "remove\n"; +static PyObject *__pyx_kp_80; +static char __pyx_k_75[] = "blist"; +static char __pyx_k_76[] = "%s"; +static char __pyx_k_77[] = "destroy\n"; +static char __pyx_k_80[] = "destroy: TODO"; +static PyObject *__pyx_kp_84; +static PyObject *__pyx_kp_85; +static PyObject *__pyx_kp_86; +static char __pyx_k_81[] = "blist"; +static char __pyx_k_82[] = "%s"; +static char __pyx_k_83[] = "set-visible\n"; +static char __pyx_k_84[] = "set-visible"; +static char __pyx_k_85[] = "set-visible"; +static char __pyx_k_86[] = "set-visible: TODO"; +static PyObject *__pyx_kp_90; +static PyObject *__pyx_kp_91; +static char __pyx_k_87[] = "blist"; +static char __pyx_k_88[] = "%s"; +static char __pyx_k_89[] = "request-add-buddy\n"; +static char __pyx_k_90[] = "request-add-buddy"; +static char __pyx_k_91[] = "request-add-buddy"; +static PyObject *__pyx_kp_95; +static PyObject *__pyx_kp_96; +static PyObject *__pyx_kp_97; +static char __pyx_k_92[] = "blist"; +static char __pyx_k_93[] = "%s"; +static char __pyx_k_94[] = "request-add-chat\n"; +static char __pyx_k_95[] = "request-add-chat"; +static char __pyx_k_96[] = "request-add-chat"; +static char __pyx_k_97[] = "request-add-chat: TODO"; +static PyObject *__pyx_kp_101; +static PyObject *__pyx_kp_102; +static PyObject *__pyx_kp_103; +static char __pyx_k_98[] = "blist"; +static char __pyx_k_99[] = "%s"; +static char __pyx_k_100[] = "request-add-group\n"; +static char __pyx_k_101[] = "request-add-chat"; +static char __pyx_k_102[] = "request-add-chat"; +static char __pyx_k_103[] = "request-add-group: TODO"; +static PyObject *__pyx_kp_107; +static PyObject *__pyx_kp_108; +static char __pyx_k_104[] = "connection"; +static char __pyx_k_105[] = "%s"; +static char __pyx_k_106[] = "connect-progress\n"; +static char __pyx_k_107[] = "connect-progress"; +static char __pyx_k_108[] = "connect-progress"; +static PyObject *__pyx_kp_114; +static char __pyx_k_109[] = "connection"; +static char __pyx_k_110[] = "%s"; +static char __pyx_k_111[] = "connected\n"; +static char __pyx_k_114[] = "connected: TODO"; +static PyObject *__pyx_kp_120; +static char __pyx_k_115[] = "connection"; +static char __pyx_k_116[] = "%s"; +static char __pyx_k_117[] = "disconnected\n"; +static char __pyx_k_120[] = "disconnected: TODO"; +static PyObject *__pyx_kp_126; +static char __pyx_k_121[] = "connection"; +static char __pyx_k_122[] = "%s"; +static char __pyx_k_123[] = "notice\n"; +static char __pyx_k_126[] = "notice: TODO"; +static PyObject *__pyx_kp_130; +static PyObject *__pyx_kp_131; +static char __pyx_k_127[] = "connection"; +static char __pyx_k_128[] = "%s"; +static char __pyx_k_129[] = "report-disconnect\n"; +static char __pyx_k_130[] = "report-disconnect"; +static char __pyx_k_131[] = "report-disconnect"; +static PyObject *__pyx_kp_135; +static PyObject *__pyx_kp_136; +static char __pyx_k_132[] = "connection"; +static char __pyx_k_133[] = "%s"; +static char __pyx_k_134[] = "network-connected\n"; +static char __pyx_k_135[] = "network-connected"; +static char __pyx_k_136[] = "network-connected"; +static PyObject *__pyx_kp_140; +static PyObject *__pyx_kp_141; +static char __pyx_k_137[] = "connection"; +static char __pyx_k_138[] = "%s"; +static char __pyx_k_139[] = "network-disconnected\n"; +static char __pyx_k_140[] = "network-disconnected"; +static char __pyx_k_141[] = "network-disconnected"; +static PyObject *__pyx_kp_145; +static PyObject *__pyx_kp_146; +static PyObject *__pyx_kp_147; +static PyObject *__pyx_kp_148; +static PyObject *__pyx_kp_149; +static PyObject *__pyx_kp_150; +static PyObject *__pyx_kp_151; +static PyObject *__pyx_kp_152; +static PyObject *__pyx_kp_153; +static PyObject *__pyx_kp_154; +static PyObject *__pyx_kp_155; +static PyObject *__pyx_kp_156; +static PyObject *__pyx_kp_157; +static PyObject *__pyx_kp_158; +static PyObject *__pyx_kp_159; +static PyObject *__pyx_kp_160; +static PyObject *__pyx_kp_161; +static PyObject *__pyx_kp_162; +static PyObject *__pyx_kp_163; +static char __pyx_k_142[] = "connection"; +static char __pyx_k_143[] = "%s"; +static char __pyx_k_144[] = "report-disconnect-reason\n"; +static char __pyx_k_145[] = "Network error"; +static char __pyx_k_146[] = "Invalid username"; +static char __pyx_k_147[] = "Authentication failed"; +static char __pyx_k_148[] = "Authentication impossible"; +static char __pyx_k_149[] = "No SSL support"; +static char __pyx_k_150[] = "Encryption error"; +static char __pyx_k_151[] = "Name in use"; +static char __pyx_k_152[] = "Invalid settings"; +static char __pyx_k_153[] = "Certificate not provided"; +static char __pyx_k_154[] = "Certificate untrusted"; +static char __pyx_k_155[] = "Certificate expired"; +static char __pyx_k_156[] = "Certificate not activated"; +static char __pyx_k_157[] = "Certificate hostname mismatch"; +static char __pyx_k_158[] = "Certificate fingerprint mismatch"; +static char __pyx_k_159[] = "Certificate self signed"; +static char __pyx_k_160[] = "Certificate error (other)"; +static char __pyx_k_161[] = "Other error"; +static char __pyx_k_162[] = "report-disconnect-reason"; +static char __pyx_k_163[] = "report-disconnect-reason"; +static PyObject *__pyx_kp_167; +static PyObject *__pyx_kp_168; +static char __pyx_k_164[] = "conversation"; +static char __pyx_k_165[] = "%s"; +static char __pyx_k_166[] = "create-conversation\n"; +static char __pyx_k_167[] = "create-conversation"; +static char __pyx_k_168[] = "create-conversation"; +static PyObject *__pyx_kp_172; +static PyObject *__pyx_kp_173; +static PyObject *__pyx_kp_174; +static char __pyx_k_169[] = "conversation"; +static char __pyx_k_170[] = "%s"; +static char __pyx_k_171[] = "destroy-conversation\n"; +static char __pyx_k_172[] = "destroy-conversation"; +static char __pyx_k_173[] = "destroy-conversation"; +static char __pyx_k_174[] = "destroy-conversation: TODO"; +static PyObject *__pyx_kp_178; +static PyObject *__pyx_kp_179; +static PyObject *__pyx_kp_180; +static char __pyx_k_175[] = "conversation"; +static char __pyx_k_176[] = "%s"; +static char __pyx_k_177[] = "write-chat\n"; +static char __pyx_k_178[] = "write-chat"; +static char __pyx_k_179[] = "write-chat"; +static char __pyx_k_180[] = "write-chat: TODO"; +static PyObject *__pyx_kp_184; +static PyObject *__pyx_kp_187; +static PyObject *__pyx_kp_188; +static char __pyx_k_181[] = "conversation"; +static char __pyx_k_182[] = "%s"; +static char __pyx_k_183[] = "write-im\n"; +static char __pyx_k_184[] = "utf-8"; +static char __pyx_k_187[] = "write-im"; +static char __pyx_k_188[] = "write-im"; +static PyObject *__pyx_kp_192; +static PyObject *__pyx_kp_193; +static PyObject *__pyx_kp_194; +static char __pyx_k_189[] = "conversation"; +static char __pyx_k_190[] = "%s"; +static char __pyx_k_191[] = "write-conv\n"; +static char __pyx_k_192[] = "write-conv"; +static char __pyx_k_193[] = "write-conv"; +static char __pyx_k_194[] = "write-conv: TODO"; +static PyObject *__pyx_kp_198; +static PyObject *__pyx_kp_199; +static PyObject *__pyx_kp_200; +static char __pyx_k_195[] = "conversation"; +static char __pyx_k_196[] = "%s"; +static char __pyx_k_197[] = "chat-add-users\n"; +static char __pyx_k_198[] = "chat-add-users"; +static char __pyx_k_199[] = "chat-add-users"; +static char __pyx_k_200[] = "chat-add-users: TODO"; +static PyObject *__pyx_kp_204; +static PyObject *__pyx_kp_205; +static PyObject *__pyx_kp_206; +static char __pyx_k_201[] = "conversation"; +static char __pyx_k_202[] = "%s"; +static char __pyx_k_203[] = "chat-rename-user\n"; +static char __pyx_k_204[] = "chat-rename-user"; +static char __pyx_k_205[] = "chat-rename-user"; +static char __pyx_k_206[] = "chat-rename-user: TODO"; +static PyObject *__pyx_kp_210; +static PyObject *__pyx_kp_211; +static PyObject *__pyx_kp_212; +static char __pyx_k_207[] = "conversation"; +static char __pyx_k_208[] = "%s"; +static char __pyx_k_209[] = "chat-remove-users\n"; +static char __pyx_k_210[] = "chat-remove-users"; +static char __pyx_k_211[] = "chat-remove-users"; +static char __pyx_k_212[] = "chat-remove-users: TODO"; +static PyObject *__pyx_kp_216; +static PyObject *__pyx_kp_217; +static PyObject *__pyx_kp_218; +static char __pyx_k_213[] = "conversation"; +static char __pyx_k_214[] = "%s"; +static char __pyx_k_215[] = "chat-update-user\n"; +static char __pyx_k_216[] = "chat-update-user"; +static char __pyx_k_217[] = "chat-update-user"; +static char __pyx_k_218[] = "chat-update-user: TODO"; +static PyObject *__pyx_kp_224; +static char __pyx_k_219[] = "conversation"; +static char __pyx_k_220[] = "%s"; +static char __pyx_k_221[] = "present\n"; +static char __pyx_k_224[] = "present: TODO"; +static PyObject *__pyx_kp_228; +static PyObject *__pyx_kp_229; +static PyObject *__pyx_kp_230; +static char __pyx_k_225[] = "conversation"; +static char __pyx_k_226[] = "%s"; +static char __pyx_k_227[] = "has-focus\n"; +static char __pyx_k_228[] = "has-focus"; +static char __pyx_k_229[] = "has-focus"; +static char __pyx_k_230[] = "has-focus: TODO"; +static PyObject *__pyx_kp_234; +static PyObject *__pyx_kp_235; +static PyObject *__pyx_kp_236; +static char __pyx_k_231[] = "conversation"; +static char __pyx_k_232[] = "%s"; +static char __pyx_k_233[] = "custom-smiley-add\n"; +static char __pyx_k_234[] = "custom-smiley-add"; +static char __pyx_k_235[] = "custom-smiley-add"; +static char __pyx_k_236[] = "custom-smiley-add: TODO"; +static PyObject *__pyx_kp_240; +static PyObject *__pyx_kp_241; +static PyObject *__pyx_kp_242; +static char __pyx_k_237[] = "conversation"; +static char __pyx_k_238[] = "%s"; +static char __pyx_k_239[] = "custom-smiley-write\n"; +static char __pyx_k_240[] = "custom-smiley-write"; +static char __pyx_k_241[] = "custom-smiley-write"; +static char __pyx_k_242[] = "custom-smiley-write: TODO"; +static PyObject *__pyx_kp_246; +static PyObject *__pyx_kp_247; +static PyObject *__pyx_kp_248; +static char __pyx_k_243[] = "conversation"; +static char __pyx_k_244[] = "%s"; +static char __pyx_k_245[] = "custom-smiley-close\n"; +static char __pyx_k_246[] = "custom-smiley-close"; +static char __pyx_k_247[] = "custom-smiley-close"; +static char __pyx_k_248[] = "custom-smiley-close: TODO"; +static PyObject *__pyx_kp_252; +static PyObject *__pyx_kp_253; +static PyObject *__pyx_kp_254; +static char __pyx_k_249[] = "conversation"; +static char __pyx_k_250[] = "%s"; +static char __pyx_k_251[] = "send-confirm\n"; +static char __pyx_k_252[] = "send-confirm"; +static char __pyx_k_253[] = "send-confirm"; +static char __pyx_k_254[] = "send-confirm: TODO"; +static PyObject *__pyx_kp_258; +static PyObject *__pyx_kp_259; +static PyObject *__pyx_kp_260; +static char __pyx_k_255[] = "notify"; +static char __pyx_k_256[] = "%s"; +static char __pyx_k_257[] = "notify-message\n"; +static char __pyx_k_258[] = "notif-message"; +static char __pyx_k_259[] = "notify-message"; +static char __pyx_k_260[] = "notify-message: TODO"; +static PyObject *__pyx_kp_264; +static PyObject *__pyx_kp_265; +static PyObject *__pyx_kp_266; +static char __pyx_k_261[] = "notify"; +static char __pyx_k_262[] = "%s"; +static char __pyx_k_263[] = "notify-email\n"; +static char __pyx_k_264[] = "notify-email"; +static char __pyx_k_265[] = "notify-email"; +static char __pyx_k_266[] = "notify-email: TODO"; +static PyObject *__pyx_kp_270; +static PyObject *__pyx_kp_271; +static PyObject *__pyx_kp_272; +static char __pyx_k_267[] = "notify"; +static char __pyx_k_268[] = "%s"; +static char __pyx_k_269[] = "notify-emails\n"; +static char __pyx_k_270[] = "notify-emails"; +static char __pyx_k_271[] = "notify-emails"; +static char __pyx_k_272[] = "notify-emails: TODO"; +static PyObject *__pyx_kp_276; +static PyObject *__pyx_kp_277; +static PyObject *__pyx_kp_278; +static char __pyx_k_273[] = "notify"; +static char __pyx_k_274[] = "%s"; +static char __pyx_k_275[] = "notify-formatted\n"; +static char __pyx_k_276[] = "notify-formatted"; +static char __pyx_k_277[] = "notify-formatted"; +static char __pyx_k_278[] = "notify-formatted: TODO"; +static PyObject *__pyx_kp_282; +static PyObject *__pyx_kp_283; +static PyObject *__pyx_kp_284; +static char __pyx_k_279[] = "notify"; +static char __pyx_k_280[] = "%s"; +static char __pyx_k_281[] = "notify-searchresults\n"; +static char __pyx_k_282[] = "notify-searchresults"; +static char __pyx_k_283[] = "notify-searchresults"; +static char __pyx_k_284[] = "notify-searchresults: TODO"; +static PyObject *__pyx_kp_288; +static PyObject *__pyx_kp_289; +static PyObject *__pyx_kp_290; +static char __pyx_k_285[] = "notify"; +static char __pyx_k_286[] = "%s"; +static char __pyx_k_287[] = "notify-searchresults-new-rows\n"; +static char __pyx_k_288[] = "notify-searchresults-new-rows"; +static char __pyx_k_289[] = "notify-searchresults-new-rows"; +static char __pyx_k_290[] = "notify-searchresults-new-rows: TODO"; +static PyObject *__pyx_kp_294; +static PyObject *__pyx_kp_295; +static PyObject *__pyx_kp_296; +static char __pyx_k_291[] = "notify"; +static char __pyx_k_292[] = "%s"; +static char __pyx_k_293[] = "notify-userinfo\n"; +static char __pyx_k_294[] = "notify-userinfo"; +static char __pyx_k_295[] = "notify-userinfo"; +static char __pyx_k_296[] = "notify-userinfo: TODO"; +static PyObject *__pyx_kp_300; +static PyObject *__pyx_kp_301; +static PyObject *__pyx_kp_302; +static char __pyx_k_297[] = "notify"; +static char __pyx_k_298[] = "%s"; +static char __pyx_k_299[] = "notify-uri\n"; +static char __pyx_k_300[] = "notify-uri"; +static char __pyx_k_301[] = "notify-uri"; +static char __pyx_k_302[] = "notify-uri: TODO"; +static PyObject *__pyx_kp_306; +static PyObject *__pyx_kp_307; +static PyObject *__pyx_kp_308; +static char __pyx_k_303[] = "notify"; +static char __pyx_k_304[] = "%s"; +static char __pyx_k_305[] = "close-notify\n"; +static char __pyx_k_306[] = "close-notify"; +static char __pyx_k_307[] = "close-notify"; +static char __pyx_k_308[] = "close-notify: TODO"; +static PyObject *__pyx_kp_312; +static PyObject *__pyx_kp_313; +static PyObject *__pyx_kp_314; +static char __pyx_k_309[] = "request"; +static char __pyx_k_310[] = "%s"; +static char __pyx_k_311[] = "request-input\n"; +static char __pyx_k_312[] = "request-input"; +static char __pyx_k_313[] = "request-input"; +static char __pyx_k_314[] = "request-input: TODO"; +static PyObject *__pyx_kp_318; +static PyObject *__pyx_kp_319; +static PyObject *__pyx_kp_320; +static char __pyx_k_315[] = "request"; +static char __pyx_k_316[] = "%s"; +static char __pyx_k_317[] = "request-choice\n"; +static char __pyx_k_318[] = "request-choice"; +static char __pyx_k_319[] = "request-choice"; +static char __pyx_k_320[] = "request-choice: TODO"; +static PyObject *__pyx_kp_324; +static PyObject *__pyx_kp_325; +static PyObject *__pyx_kp_326; +static char __pyx_k_321[] = "request"; +static char __pyx_k_322[] = "%s"; +static char __pyx_k_323[] = "request-action\n"; +static char __pyx_k_324[] = "request-action"; +static char __pyx_k_325[] = "request-action"; +static char __pyx_k_326[] = "request-action: TODo"; +static PyObject *__pyx_kp_330; +static PyObject *__pyx_kp_331; +static PyObject *__pyx_kp_332; +static char __pyx_k_327[] = "request"; +static char __pyx_k_328[] = "%s"; +static char __pyx_k_329[] = "request-fields\n"; +static char __pyx_k_330[] = "request-fields"; +static char __pyx_k_331[] = "request-fields"; +static char __pyx_k_332[] = "request-fields: TODO"; +static PyObject *__pyx_kp_336; +static PyObject *__pyx_kp_337; +static PyObject *__pyx_kp_338; +static char __pyx_k_333[] = "request"; +static char __pyx_k_334[] = "%s"; +static char __pyx_k_335[] = "request-file\n"; +static char __pyx_k_336[] = "request-file"; +static char __pyx_k_337[] = "request-file"; +static char __pyx_k_338[] = "request-file: TODO"; +static PyObject *__pyx_kp_342; +static PyObject *__pyx_kp_343; +static PyObject *__pyx_kp_344; +static char __pyx_k_339[] = "request"; +static char __pyx_k_340[] = "%s"; +static char __pyx_k_341[] = "close-request\n"; +static char __pyx_k_342[] = "close-request"; +static char __pyx_k_343[] = "close-request"; +static char __pyx_k_344[] = "close-request: TODO"; +static PyObject *__pyx_kp_348; +static PyObject *__pyx_kp_349; +static PyObject *__pyx_kp_350; +static char __pyx_k_345[] = "request"; +static char __pyx_k_346[] = "%s"; +static char __pyx_k_347[] = "request-folder\n"; +static char __pyx_k_348[] = "request-folder"; +static char __pyx_k_349[] = "request-folder"; +static char __pyx_k_350[] = "request-folder: TODO"; +static PyObject *__pyx_kp_351; +static PyObject *__pyx_kp_352; +static char __pyx_k_351[] = "signed-on"; +static char __pyx_k_352[] = "signed-on"; +static PyObject *__pyx_kp_353; +static PyObject *__pyx_kp_354; +static char __pyx_k_353[] = "signed-off"; +static char __pyx_k_354[] = "signed-off"; +static PyObject *__pyx_kp_355; +static PyObject *__pyx_kp_356; +static PyObject *__pyx_kp_357; +static PyObject *__pyx_kp_358; +static PyObject *__pyx_kp_359; +static PyObject *__pyx_kp_360; +static PyObject *__pyx_kp_361; +static PyObject *__pyx_kp_362; +static PyObject *__pyx_kp_363; +static PyObject *__pyx_kp_364; +static PyObject *__pyx_kp_365; +static PyObject *__pyx_kp_366; +static PyObject *__pyx_kp_367; +static PyObject *__pyx_kp_368; +static PyObject *__pyx_kp_369; +static PyObject *__pyx_kp_370; +static PyObject *__pyx_kp_371; +static PyObject *__pyx_kp_372; +static PyObject *__pyx_kp_373; +static char __pyx_k_355[] = "Network error"; +static char __pyx_k_356[] = "Invalid username"; +static char __pyx_k_357[] = "Authentication failed"; +static char __pyx_k_358[] = "Authentication impossible"; +static char __pyx_k_359[] = "No SSL support"; +static char __pyx_k_360[] = "Encryption error"; +static char __pyx_k_361[] = "Name in use"; +static char __pyx_k_362[] = "Invalid settings"; +static char __pyx_k_363[] = "SSL certificate not provided"; +static char __pyx_k_364[] = "SSL certificate untrusted"; +static char __pyx_k_365[] = "SSL certificate expired"; +static char __pyx_k_366[] = "SSL certificate not activated"; +static char __pyx_k_367[] = "SSL certificate hostname mismatch"; +static char __pyx_k_368[] = "SSL certificate fingerprint mismatch"; +static char __pyx_k_369[] = "SSL certificate self signed"; +static char __pyx_k_370[] = "SSL certificate other error"; +static char __pyx_k_371[] = "Other error"; +static char __pyx_k_372[] = "connection-error"; +static char __pyx_k_373[] = "connection-error"; +static PyObject *__pyx_kp_374; +static PyObject *__pyx_kp_375; +static char __pyx_k_374[] = "buddy-signed-on"; +static char __pyx_k_375[] = "buddy-signed-on"; +static PyObject *__pyx_kp_376; +static PyObject *__pyx_kp_377; +static char __pyx_k_376[] = "buddy-signed-off"; +static char __pyx_k_377[] = "buddy-signed-off"; +static PyObject *__pyx_kp_378; +static PyObject *__pyx_kp_379; +static char __pyx_k_378[] = "receiving-im-msg"; +static char __pyx_k_379[] = "receiving-im-msg"; +static PyObject *__pyx_kp_380; +static PyObject *__pyx_kp_381; +static char __pyx_k_380[] = "jabber-receiving-xmlnode"; +static char __pyx_k_381[] = "jabber-receiving-xmlnode"; +static char __pyx_k_382[] = "core_ui_ops"; +static char __pyx_k_383[] = "%s"; +static char __pyx_k_384[] = "ui_prefs_init\n"; +static char __pyx_k_385[] = "/carman"; +static char __pyx_k_386[] = "core_ui_ops"; +static char __pyx_k_387[] = "%s"; +static char __pyx_k_388[] = "debug_ui_init\n"; +static char __pyx_k_389[] = "core_ui_ops"; +static char __pyx_k_390[] = "%s"; +static char __pyx_k_391[] = "ui_init\n"; +static char __pyx_k_392[] = "core_ui_ops"; +static char __pyx_k_393[] = "%s"; +static char __pyx_k_394[] = "quit\n"; +static char __pyx_k_395[] = "name"; +static char __pyx_k_396[] = "version"; +static char __pyx_k_397[] = "website"; +static char __pyx_k_398[] = "dev_website"; +static char __pyx_k_399[] = "main"; +static char __pyx_k_400[] = "%s"; +static char __pyx_k_401[] = "libpurple initialization failed.\n"; +static char __pyx_k_402[] = "main"; +static char __pyx_k_403[] = "%s"; +static char __pyx_k_404[] = "Another instance of libpurple is already running.\n"; +static PyObject *__pyx_kp_412; +static PyObject *__pyx_kp_414; +static PyObject *__pyx_kp_416; +static PyObject *__pyx_kp_418; +static PyObject *__pyx_kp_420; +static PyObject *__pyx_kp_422; +static PyObject *__pyx_kp_424; +static char __pyx_k_411[] = "prpl-jabber"; +static char __pyx_k_412[] = "signed-on"; +static char __pyx_k_413[] = "signed-on"; +static char __pyx_k_414[] = "signed-off"; +static char __pyx_k_415[] = "signed-off"; +static char __pyx_k_416[] = "connection-error"; +static char __pyx_k_417[] = "connection-error"; +static char __pyx_k_418[] = "buddy-signed-on"; +static char __pyx_k_419[] = "buddy-signed-on"; +static char __pyx_k_420[] = "buddy-signed-off"; +static char __pyx_k_421[] = "buddy-signed-off"; +static char __pyx_k_422[] = "receiving-im-msg"; +static char __pyx_k_423[] = "receiving-im-msg"; +static char __pyx_k_424[] = "jabber-receiving-xmlnode"; +static char __pyx_k_425[] = "jabber-receiving-xmlnode"; +static char __pyx_k_426[] = ""; +static char __pyx_k_449[] = ""; +static char __pyx_k_450[] = "message"; +static char __pyx_k_454[] = "message"; +static char __pyx_k_455[] = "/purple/savedstatus/idleaway"; +static char __pyx_k_456[] = "message"; +static PyObject *__pyx_kp_457; +static char __pyx_k_457[] = "utf-8"; +static char __pyx_k_458[] = "message"; + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":31 + * cdef void *c_request_authorize_user_data = NULL + * + * def call_authorize_cb(): # <<<<<<<<<<<<<< + * global c_request_authorize_authorize_cb + * global c_request_authorize_deny_cb + */ + +static PyObject *__pyx_pf_6purple_call_authorize_cb(PyObject *__pyx_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_call_authorize_cb(PyObject *__pyx_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + __pyx_self = __pyx_self; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":36 + * global c_request_authorize_user_data + * + * if c_request_authorize_authorize_cb: # <<<<<<<<<<<<<< + * c_request_authorize_authorize_cb(c_request_authorize_user_data) + * c_request_authorize_authorize_cb = NULL + */ + __pyx_1 = (__pyx_v_6purple_c_request_authorize_authorize_cb != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":37 + * + * if c_request_authorize_authorize_cb: + * c_request_authorize_authorize_cb(c_request_authorize_user_data) # <<<<<<<<<<<<<< + * c_request_authorize_authorize_cb = NULL + * c_request_authorize_deny_cb = NULL + */ + __pyx_v_6purple_c_request_authorize_authorize_cb(__pyx_v_6purple_c_request_authorize_user_data); + goto __pyx_L5; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":38 + * if c_request_authorize_authorize_cb: + * c_request_authorize_authorize_cb(c_request_authorize_user_data) + * c_request_authorize_authorize_cb = NULL # <<<<<<<<<<<<<< + * c_request_authorize_deny_cb = NULL + * c_request_authorize_user_data = NULL + */ + __pyx_v_6purple_c_request_authorize_authorize_cb = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":39 + * c_request_authorize_authorize_cb(c_request_authorize_user_data) + * c_request_authorize_authorize_cb = NULL + * c_request_authorize_deny_cb = NULL # <<<<<<<<<<<<<< + * c_request_authorize_user_data = NULL + * + */ + __pyx_v_6purple_c_request_authorize_deny_cb = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":40 + * c_request_authorize_authorize_cb = NULL + * c_request_authorize_deny_cb = NULL + * c_request_authorize_user_data = NULL # <<<<<<<<<<<<<< + * + * def call_deny_cb(): + */ + __pyx_v_6purple_c_request_authorize_user_data = NULL; + + __pyx_r = Py_None; Py_INCREF(Py_None); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":42 + * c_request_authorize_user_data = NULL + * + * def call_deny_cb(): # <<<<<<<<<<<<<< + * global c_request_authorize_authorize_cb + * global c_request_authorize_deny_cb + */ + +static PyObject *__pyx_pf_6purple_call_deny_cb(PyObject *__pyx_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_call_deny_cb(PyObject *__pyx_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + __pyx_self = __pyx_self; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":47 + * global c_request_authorize_user_data + * + * if c_request_authorize_deny_cb: # <<<<<<<<<<<<<< + * c_request_authorize_deny_cb(c_request_authorize_user_data) + * c_request_authorize_authorize_cb = NULL + */ + __pyx_1 = (__pyx_v_6purple_c_request_authorize_deny_cb != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":48 + * + * if c_request_authorize_deny_cb: + * c_request_authorize_deny_cb(c_request_authorize_user_data) # <<<<<<<<<<<<<< + * c_request_authorize_authorize_cb = NULL + * c_request_authorize_deny_cb = NULL + */ + __pyx_v_6purple_c_request_authorize_deny_cb(__pyx_v_6purple_c_request_authorize_user_data); + goto __pyx_L5; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":49 + * if c_request_authorize_deny_cb: + * c_request_authorize_deny_cb(c_request_authorize_user_data) + * c_request_authorize_authorize_cb = NULL # <<<<<<<<<<<<<< + * c_request_authorize_deny_cb = NULL + * c_request_authorize_user_data = NULL + */ + __pyx_v_6purple_c_request_authorize_authorize_cb = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":50 + * c_request_authorize_deny_cb(c_request_authorize_user_data) + * c_request_authorize_authorize_cb = NULL + * c_request_authorize_deny_cb = NULL # <<<<<<<<<<<<<< + * c_request_authorize_user_data = NULL + * + */ + __pyx_v_6purple_c_request_authorize_deny_cb = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":51 + * c_request_authorize_authorize_cb = NULL + * c_request_authorize_deny_cb = NULL + * c_request_authorize_user_data = NULL # <<<<<<<<<<<<<< + * + * cdef void notify_added(account.PurpleAccount *c_account, \ + */ + __pyx_v_6purple_c_request_authorize_user_data = NULL; + + __pyx_r = Py_None; Py_INCREF(Py_None); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":53 + * c_request_authorize_user_data = NULL + * + * cdef void notify_added(account.PurpleAccount *c_account, \ # <<<<<<<<<<<<<< + * const_char *remote_user, const_char *id, const_char *alias, \ + * const_char *c_message): + */ + +static void __pyx_f_6purple_notify_added(PurpleAccount *__pyx_v_c_account, const char *__pyx_v_remote_user, const char *__pyx_v_id, const char *__pyx_v_alias, const char *__pyx_v_c_message) { + PurpleConnection *__pyx_v_gc; + PyObject *__pyx_v_remote_alias; + PyObject *__pyx_v_username; + PyObject *__pyx_v_protocol_id; + PyObject *__pyx_v_message; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + PyObject *__pyx_5 = 0; + __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None); + __pyx_v_username = Py_None; Py_INCREF(Py_None); + __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None); + __pyx_v_message = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":61 + * """ + * cdef connection.PurpleConnection *gc = \ + * account.purple_account_get_connection(c_account) # <<<<<<<<<<<<<< + * + * debug.purple_debug_info("account", "%s", "notify-added\n") + */ + __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":63 + * account.purple_account_get_connection(c_account) + * + * debug.purple_debug_info("account", "%s", "notify-added\n") # <<<<<<<<<<<<<< + * + * if alias: + */ + purple_debug_info(__pyx_k_11, __pyx_k_12, __pyx_k_13); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":65 + * debug.purple_debug_info("account", "%s", "notify-added\n") + * + * if alias: # <<<<<<<<<<<<<< + * remote_alias = alias + * else: + */ + __pyx_1 = (__pyx_v_alias != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":66 + * + * if alias: + * remote_alias = alias # <<<<<<<<<<<<<< + * else: + * remote_alias = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_remote_alias); + __pyx_v_remote_alias = __pyx_2; + __pyx_2 = 0; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":68 + * remote_alias = alias + * else: + * remote_alias = None # <<<<<<<<<<<<<< + * + * if id: + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_remote_alias); + __pyx_v_remote_alias = Py_None; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":70 + * remote_alias = None + * + * if id: # <<<<<<<<<<<<<< + * username = id + * elif connection.purple_connection_get_display_name(gc) != NULL: + */ + __pyx_1 = (__pyx_v_id != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":71 + * + * if id: + * username = id # <<<<<<<<<<<<<< + * elif connection.purple_connection_get_display_name(gc) != NULL: + * username = connection.purple_connection_get_display_name(gc) + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":72 + * if id: + * username = id + * elif connection.purple_connection_get_display_name(gc) != NULL: # <<<<<<<<<<<<<< + * username = connection.purple_connection_get_display_name(gc) + * else: + */ + __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":73 + * username = id + * elif connection.purple_connection_get_display_name(gc) != NULL: + * username = connection.purple_connection_get_display_name(gc) # <<<<<<<<<<<<<< + * else: + * username = account.purple_account_get_username(c_account) + */ + __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + goto __pyx_L4; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":75 + * username = connection.purple_connection_get_display_name(gc) + * else: + * username = account.purple_account_get_username(c_account) # <<<<<<<<<<<<<< + * + * protocol_id = account.purple_account_get_protocol_id(c_account) + */ + __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":77 + * username = account.purple_account_get_username(c_account) + * + * protocol_id = account.purple_account_get_protocol_id(c_account) # <<<<<<<<<<<<<< + * + * if c_message: + */ + __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":79 + * protocol_id = account.purple_account_get_protocol_id(c_account) + * + * if c_message: # <<<<<<<<<<<<<< + * message = c_message + * else: + */ + __pyx_1 = (__pyx_v_c_message != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":80 + * + * if c_message: + * message = c_message # <<<<<<<<<<<<<< + * else: + * message = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_message); + __pyx_v_message = __pyx_2; + __pyx_2 = 0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":82 + * message = c_message + * else: + * message = None # <<<<<<<<<<<<<< + * + * if account_cbs.has_key("notify-added"): + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_message); + __pyx_v_message = Py_None; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":84 + * message = None + * + * if account_cbs.has_key("notify-added"): # <<<<<<<<<<<<<< + * ( account_cbs["notify-added"])( \ + * ( remote_user, remote_alias), \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_14); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_14); + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":85 + * + * if account_cbs.has_key("notify-added"): + * ( account_cbs["notify-added"])( \ # <<<<<<<<<<<<<< + * ( remote_user, remote_alias), \ + * (username, protocol_id), message) + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_15); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":86 + * if account_cbs.has_key("notify-added"): + * ( account_cbs["notify-added"])( \ + * ( remote_user, remote_alias), \ # <<<<<<<<<<<<<< + * (username, protocol_id), message) + * + */ + __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4); + Py_INCREF(__pyx_v_remote_alias); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias); + __pyx_4 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":87 + * ( account_cbs["notify-added"])( \ + * ( remote_user, remote_alias), \ + * (username, protocol_id), message) # <<<<<<<<<<<<<< + * + * cdef void status_changed(account.PurpleAccount *c_account, \ + */ + __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_username); + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username); + Py_INCREF(__pyx_v_protocol_id); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id); + __pyx_5 = PyTuple_New(3); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_5, 0, ((PyObject *)__pyx_3)); + PyTuple_SET_ITEM(__pyx_5, 1, ((PyObject *)__pyx_4)); + Py_INCREF(__pyx_v_message); + PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_message); + __pyx_3 = 0; + __pyx_4 = 0; + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L6; + } + __pyx_L6:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + Py_XDECREF(__pyx_5); + __Pyx_WriteUnraisable("purple.notify_added"); + __pyx_L0:; + Py_DECREF(__pyx_v_remote_alias); + Py_DECREF(__pyx_v_username); + Py_DECREF(__pyx_v_protocol_id); + Py_DECREF(__pyx_v_message); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":89 + * (username, protocol_id), message) + * + * cdef void status_changed(account.PurpleAccount *c_account, \ # <<<<<<<<<<<<<< + * status.PurpleStatus *c_status): + * """ + */ + +static void __pyx_f_6purple_status_changed(PurpleAccount *__pyx_v_c_account, PurpleStatus *__pyx_v_c_status) { + PyObject *__pyx_v_username; + PyObject *__pyx_v_protocol_id; + PyObject *__pyx_v_status_id; + PyObject *__pyx_v_status_name; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + __pyx_v_username = Py_None; Py_INCREF(Py_None); + __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None); + __pyx_v_status_id = Py_None; Py_INCREF(Py_None); + __pyx_v_status_name = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":94 + * This account's status changed. + * """ + * debug.purple_debug_info("account", "%s", "status-changed\n") # <<<<<<<<<<<<<< + * + * username = account.purple_account_get_username(c_account) + */ + purple_debug_info(__pyx_k_16, __pyx_k_17, __pyx_k_18); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":96 + * debug.purple_debug_info("account", "%s", "status-changed\n") + * + * username = account.purple_account_get_username(c_account) # <<<<<<<<<<<<<< + * protocol_id = account.purple_account_get_protocol_id(c_account) + * + */ + __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_1; + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":97 + * + * username = account.purple_account_get_username(c_account) + * protocol_id = account.purple_account_get_protocol_id(c_account) # <<<<<<<<<<<<<< + * + * status_id = status.purple_status_get_id(c_status) + */ + __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = __pyx_1; + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":99 + * protocol_id = account.purple_account_get_protocol_id(c_account) + * + * status_id = status.purple_status_get_id(c_status) # <<<<<<<<<<<<<< + * status_name = status.purple_status_get_name(c_status) + * + */ + __pyx_1 = __Pyx_PyBytes_FromString(purple_status_get_id(__pyx_v_c_status)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_status_id); + __pyx_v_status_id = __pyx_1; + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":100 + * + * status_id = status.purple_status_get_id(c_status) + * status_name = status.purple_status_get_name(c_status) # <<<<<<<<<<<<<< + * + * if account_cbs.has_key("status-changed"): + */ + __pyx_1 = __Pyx_PyBytes_FromString(purple_status_get_name(__pyx_v_c_status)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_status_name); + __pyx_v_status_name = __pyx_1; + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":102 + * status_name = status.purple_status_get_name(c_status) + * + * if account_cbs.has_key("status-changed"): # <<<<<<<<<<<<<< + * ( account_cbs["status-changed"])( \ + * (username, protocol_id), status_id, status_name) + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_19); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_19); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":103 + * + * if account_cbs.has_key("status-changed"): + * ( account_cbs["status-changed"])( \ # <<<<<<<<<<<<<< + * (username, protocol_id), status_id, status_name) + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_20); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":104 + * if account_cbs.has_key("status-changed"): + * ( account_cbs["status-changed"])( \ + * (username, protocol_id), status_id, status_name) # <<<<<<<<<<<<<< + * + * cdef void request_add(account.PurpleAccount *c_account, \ + */ + __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_username); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_username); + Py_INCREF(__pyx_v_protocol_id); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_protocol_id); + __pyx_2 = PyTuple_New(3); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, ((PyObject *)__pyx_3)); + Py_INCREF(__pyx_v_status_id); + PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_status_id); + Py_INCREF(__pyx_v_status_name); + PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_status_name); + __pyx_3 = 0; + __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.status_changed"); + __pyx_L0:; + Py_DECREF(__pyx_v_username); + Py_DECREF(__pyx_v_protocol_id); + Py_DECREF(__pyx_v_status_id); + Py_DECREF(__pyx_v_status_name); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":106 + * (username, protocol_id), status_id, status_name) + * + * cdef void request_add(account.PurpleAccount *c_account, \ # <<<<<<<<<<<<<< + * const_char *remote_user, const_char *id, const_char *alias, \ + * const_char *c_message): + */ + +static void __pyx_f_6purple_request_add(PurpleAccount *__pyx_v_c_account, const char *__pyx_v_remote_user, const char *__pyx_v_id, const char *__pyx_v_alias, const char *__pyx_v_c_message) { + PurpleConnection *__pyx_v_gc; + PyObject *__pyx_v_remote_alias; + PyObject *__pyx_v_username; + PyObject *__pyx_v_protocol_id; + PyObject *__pyx_v_message; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + PyObject *__pyx_5 = 0; + __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None); + __pyx_v_username = Py_None; Py_INCREF(Py_None); + __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None); + __pyx_v_message = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":113 + * """ + * cdef connection.PurpleConnection *gc = \ + * account.purple_account_get_connection(c_account) # <<<<<<<<<<<<<< + * + * debug.purple_debug_info("account", "%s", "request-add\n") + */ + __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":115 + * account.purple_account_get_connection(c_account) + * + * debug.purple_debug_info("account", "%s", "request-add\n") # <<<<<<<<<<<<<< + * + * if alias: + */ + purple_debug_info(__pyx_k_21, __pyx_k_22, __pyx_k_23); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":117 + * debug.purple_debug_info("account", "%s", "request-add\n") + * + * if alias: # <<<<<<<<<<<<<< + * remote_alias = alias + * else: + */ + __pyx_1 = (__pyx_v_alias != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":118 + * + * if alias: + * remote_alias = alias # <<<<<<<<<<<<<< + * else: + * remote_alias = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_remote_alias); + __pyx_v_remote_alias = __pyx_2; + __pyx_2 = 0; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":120 + * remote_alias = alias + * else: + * remote_alias = None # <<<<<<<<<<<<<< + * + * if id: + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_remote_alias); + __pyx_v_remote_alias = Py_None; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":122 + * remote_alias = None + * + * if id: # <<<<<<<<<<<<<< + * username = id + * elif connection.purple_connection_get_display_name(gc) != NULL: + */ + __pyx_1 = (__pyx_v_id != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":123 + * + * if id: + * username = id # <<<<<<<<<<<<<< + * elif connection.purple_connection_get_display_name(gc) != NULL: + * username = connection.purple_connection_get_display_name(gc) + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":124 + * if id: + * username = id + * elif connection.purple_connection_get_display_name(gc) != NULL: # <<<<<<<<<<<<<< + * username = connection.purple_connection_get_display_name(gc) + * else: + */ + __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":125 + * username = id + * elif connection.purple_connection_get_display_name(gc) != NULL: + * username = connection.purple_connection_get_display_name(gc) # <<<<<<<<<<<<<< + * else: + * username = account.purple_account_get_username(c_account) + */ + __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + goto __pyx_L4; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":127 + * username = connection.purple_connection_get_display_name(gc) + * else: + * username = account.purple_account_get_username(c_account) # <<<<<<<<<<<<<< + * + * protocol_id = account.purple_account_get_protocol_id(c_account) + */ + __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":129 + * username = account.purple_account_get_username(c_account) + * + * protocol_id = account.purple_account_get_protocol_id(c_account) # <<<<<<<<<<<<<< + * + * if c_message: + */ + __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":131 + * protocol_id = account.purple_account_get_protocol_id(c_account) + * + * if c_message: # <<<<<<<<<<<<<< + * message = c_message + * else: + */ + __pyx_1 = (__pyx_v_c_message != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":132 + * + * if c_message: + * message = c_message # <<<<<<<<<<<<<< + * else: + * message = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_message); + __pyx_v_message = __pyx_2; + __pyx_2 = 0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":134 + * message = c_message + * else: + * message = None # <<<<<<<<<<<<<< + * + * if account_cbs.has_key("request-add"): + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_message); + __pyx_v_message = Py_None; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":136 + * message = None + * + * if account_cbs.has_key("request-add"): # <<<<<<<<<<<<<< + * ( account_cbs["request-add"])( \ + * ( remote_user, remote_alias), \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_24); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_24); + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":137 + * + * if account_cbs.has_key("request-add"): + * ( account_cbs["request-add"])( \ # <<<<<<<<<<<<<< + * ( remote_user, remote_alias), \ + * (username, protocol_id), message) + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_25); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":138 + * if account_cbs.has_key("request-add"): + * ( account_cbs["request-add"])( \ + * ( remote_user, remote_alias), \ # <<<<<<<<<<<<<< + * (username, protocol_id), message) + * + */ + __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4); + Py_INCREF(__pyx_v_remote_alias); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias); + __pyx_4 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":139 + * ( account_cbs["request-add"])( \ + * ( remote_user, remote_alias), \ + * (username, protocol_id), message) # <<<<<<<<<<<<<< + * + * cdef void *request_authorize(account.PurpleAccount *c_account, \ + */ + __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_username); + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username); + Py_INCREF(__pyx_v_protocol_id); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id); + __pyx_5 = PyTuple_New(3); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_5, 0, ((PyObject *)__pyx_3)); + PyTuple_SET_ITEM(__pyx_5, 1, ((PyObject *)__pyx_4)); + Py_INCREF(__pyx_v_message); + PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_message); + __pyx_3 = 0; + __pyx_4 = 0; + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L6; + } + __pyx_L6:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + Py_XDECREF(__pyx_5); + __Pyx_WriteUnraisable("purple.request_add"); + __pyx_L0:; + Py_DECREF(__pyx_v_remote_alias); + Py_DECREF(__pyx_v_username); + Py_DECREF(__pyx_v_protocol_id); + Py_DECREF(__pyx_v_message); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":141 + * (username, protocol_id), message) + * + * cdef void *request_authorize(account.PurpleAccount *c_account, \ # <<<<<<<<<<<<<< + * const_char *remote_user, const_char *id, const_char *alias, \ + * const_char *c_message, glib.gboolean on_list, \ + */ + +static void *__pyx_f_6purple_request_authorize(PurpleAccount *__pyx_v_c_account, const char *__pyx_v_remote_user, const char *__pyx_v_id, const char *__pyx_v_alias, const char *__pyx_v_c_message, gboolean __pyx_v_on_list, PurpleAccountRequestAuthorizationCb __pyx_v_authorize_cb, PurpleAccountRequestAuthorizationCb __pyx_v_deny_cb, void *__pyx_v_user_data) { + PurpleConnection *__pyx_v_gc; + PyObject *__pyx_v_remote_alias; + PyObject *__pyx_v_username; + PyObject *__pyx_v_protocol_id; + PyObject *__pyx_v_message; + void *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + PyObject *__pyx_5 = 0; + PyObject *__pyx_6 = 0; + PyObject *__pyx_7 = 0; + PyObject *__pyx_8 = 0; + __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None); + __pyx_v_username = Py_None; Py_INCREF(Py_None); + __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None); + __pyx_v_message = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":154 + * """ + * cdef connection.PurpleConnection *gc = \ + * account.purple_account_get_connection(c_account) # <<<<<<<<<<<<<< + * + * debug.purple_debug_info("account", "%s", "request-authorize\n") + */ + __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":156 + * account.purple_account_get_connection(c_account) + * + * debug.purple_debug_info("account", "%s", "request-authorize\n") # <<<<<<<<<<<<<< + * + * global c_request_authorize_authorize_cb + */ + purple_debug_info(__pyx_k_26, __pyx_k_27, __pyx_k_28); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":162 + * global c_request_authorize_user_data + * + * c_request_authorize_authorize_cb = authorize_cb # <<<<<<<<<<<<<< + * c_request_authorize_deny_cb = deny_cb + * c_request_authorize_user_data = user_data + */ + __pyx_v_6purple_c_request_authorize_authorize_cb = __pyx_v_authorize_cb; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":163 + * + * c_request_authorize_authorize_cb = authorize_cb + * c_request_authorize_deny_cb = deny_cb # <<<<<<<<<<<<<< + * c_request_authorize_user_data = user_data + * + */ + __pyx_v_6purple_c_request_authorize_deny_cb = __pyx_v_deny_cb; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":164 + * c_request_authorize_authorize_cb = authorize_cb + * c_request_authorize_deny_cb = deny_cb + * c_request_authorize_user_data = user_data # <<<<<<<<<<<<<< + * + * if alias: + */ + __pyx_v_6purple_c_request_authorize_user_data = __pyx_v_user_data; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":166 + * c_request_authorize_user_data = user_data + * + * if alias: # <<<<<<<<<<<<<< + * remote_alias = alias + * else: + */ + __pyx_1 = (__pyx_v_alias != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":167 + * + * if alias: + * remote_alias = alias # <<<<<<<<<<<<<< + * else: + * remote_alias = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_remote_alias); + __pyx_v_remote_alias = __pyx_2; + __pyx_2 = 0; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":169 + * remote_alias = alias + * else: + * remote_alias = None # <<<<<<<<<<<<<< + * + * if id: + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_remote_alias); + __pyx_v_remote_alias = Py_None; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":171 + * remote_alias = None + * + * if id: # <<<<<<<<<<<<<< + * username = id + * elif connection.purple_connection_get_display_name(gc) != NULL: + */ + __pyx_1 = (__pyx_v_id != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":172 + * + * if id: + * username = id # <<<<<<<<<<<<<< + * elif connection.purple_connection_get_display_name(gc) != NULL: + * username = connection.purple_connection_get_display_name(gc) + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":173 + * if id: + * username = id + * elif connection.purple_connection_get_display_name(gc) != NULL: # <<<<<<<<<<<<<< + * username = connection.purple_connection_get_display_name(gc) + * else: + */ + __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":174 + * username = id + * elif connection.purple_connection_get_display_name(gc) != NULL: + * username = connection.purple_connection_get_display_name(gc) # <<<<<<<<<<<<<< + * else: + * username = account.purple_account_get_username(c_account) + */ + __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + goto __pyx_L4; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":176 + * username = connection.purple_connection_get_display_name(gc) + * else: + * username = account.purple_account_get_username(c_account) # <<<<<<<<<<<<<< + * + * protocol_id = account.purple_account_get_protocol_id(c_account) + */ + __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":178 + * username = account.purple_account_get_username(c_account) + * + * protocol_id = account.purple_account_get_protocol_id(c_account) # <<<<<<<<<<<<<< + * + * if c_message: + */ + __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":180 + * protocol_id = account.purple_account_get_protocol_id(c_account) + * + * if c_message: # <<<<<<<<<<<<<< + * message = c_message + * else: + */ + __pyx_1 = (__pyx_v_c_message != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":181 + * + * if c_message: + * message = c_message # <<<<<<<<<<<<<< + * else: + * message = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_message); + __pyx_v_message = __pyx_2; + __pyx_2 = 0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":183 + * message = c_message + * else: + * message = None # <<<<<<<<<<<<<< + * + * if account_cbs.has_key("request-authorize"): + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_message); + __pyx_v_message = Py_None; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":185 + * message = None + * + * if account_cbs.has_key("request-authorize"): # <<<<<<<<<<<<<< + * ( account_cbs["request-authorize"])( \ + * ( remote_user, remote_alias), \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_29); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_29); + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":186 + * + * if account_cbs.has_key("request-authorize"): + * ( account_cbs["request-authorize"])( \ # <<<<<<<<<<<<<< + * ( remote_user, remote_alias), \ + * (username, protocol_id), \ + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_30); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":187 + * if account_cbs.has_key("request-authorize"): + * ( account_cbs["request-authorize"])( \ + * ( remote_user, remote_alias), \ # <<<<<<<<<<<<<< + * (username, protocol_id), \ + * message, on_list, \ + */ + __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4); + Py_INCREF(__pyx_v_remote_alias); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias); + __pyx_4 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":188 + * ( account_cbs["request-authorize"])( \ + * ( remote_user, remote_alias), \ + * (username, protocol_id), \ # <<<<<<<<<<<<<< + * message, on_list, \ + * call_authorize_cb, call_deny_cb) + */ + __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_username); + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username); + Py_INCREF(__pyx_v_protocol_id); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":189 + * ( remote_user, remote_alias), \ + * (username, protocol_id), \ + * message, on_list, \ # <<<<<<<<<<<<<< + * call_authorize_cb, call_deny_cb) + * + */ + __pyx_5 = PyInt_FromLong(__pyx_v_on_list); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":190 + * (username, protocol_id), \ + * message, on_list, \ + * call_authorize_cb, call_deny_cb) # <<<<<<<<<<<<<< + * + * cdef void close_account_request (void *ui_handle): + */ + __pyx_6 = __Pyx_GetName(__pyx_m, __pyx_kp_call_authorize_cb); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_7 = __Pyx_GetName(__pyx_m, __pyx_kp_call_deny_cb); if (unlikely(!__pyx_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_8 = PyTuple_New(6); if (unlikely(!__pyx_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_8, 0, ((PyObject *)__pyx_3)); + PyTuple_SET_ITEM(__pyx_8, 1, ((PyObject *)__pyx_4)); + Py_INCREF(__pyx_v_message); + PyTuple_SET_ITEM(__pyx_8, 2, __pyx_v_message); + PyTuple_SET_ITEM(__pyx_8, 3, __pyx_5); + PyTuple_SET_ITEM(__pyx_8, 4, __pyx_6); + PyTuple_SET_ITEM(__pyx_8, 5, __pyx_7); + __pyx_3 = 0; + __pyx_4 = 0; + __pyx_5 = 0; + __pyx_6 = 0; + __pyx_7 = 0; + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_8), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_8)); __pyx_8 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L6; + } + __pyx_L6:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + Py_XDECREF(__pyx_5); + Py_XDECREF(__pyx_6); + Py_XDECREF(__pyx_7); + Py_XDECREF(__pyx_8); + __Pyx_WriteUnraisable("purple.request_authorize"); + __pyx_r = 0; + __pyx_L0:; + Py_DECREF(__pyx_v_remote_alias); + Py_DECREF(__pyx_v_username); + Py_DECREF(__pyx_v_protocol_id); + Py_DECREF(__pyx_v_message); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":192 + * call_authorize_cb, call_deny_cb) + * + * cdef void close_account_request (void *ui_handle): # <<<<<<<<<<<<<< + * """ + * Close a pending request for authorization. ui_handle is a handle as + */ + +static void __pyx_f_6purple_close_account_request(void *__pyx_v_ui_handle) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":197 + * returned by request_authorize. + * """ + * debug.purple_debug_info("account", "%s", "close-account-request\n") # <<<<<<<<<<<<<< + * + * request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle) + */ + purple_debug_info(__pyx_k_31, __pyx_k_32, __pyx_k_33); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":199 + * debug.purple_debug_info("account", "%s", "close-account-request\n") + * + * request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle) # <<<<<<<<<<<<<< + * + * if account_cbs.has_key("close-account-request"): + */ + purple_request_close(PURPLE_REQUEST_ACTION, __pyx_v_ui_handle); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":201 + * request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle) + * + * if account_cbs.has_key("close-account-request"): # <<<<<<<<<<<<<< + * ( account_cbs["close-account-request"])() + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_34); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_34); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":202 + * + * if account_cbs.has_key("close-account-request"): + * ( account_cbs["close-account-request"])() # <<<<<<<<<<<<<< + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_35); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.close_account_request"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":27 + * blist_cbs = {} + * + * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback): # <<<<<<<<<<<<<< + * cdef blist.PurpleGroup *group = node + * cdef char *c_name = NULL + */ + +static void __pyx_f_6purple___group_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) { + PurpleGroup *__pyx_v_group; + char *__pyx_v_c_name; + PyObject *__pyx_v_name; + PyObject *__pyx_v_currentsize; + PyObject *__pyx_v_totalsize; + PyObject *__pyx_v_online; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + __pyx_v_name = Py_None; Py_INCREF(Py_None); + __pyx_v_currentsize = Py_None; Py_INCREF(Py_None); + __pyx_v_totalsize = Py_None; Py_INCREF(Py_None); + __pyx_v_online = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":28 + * + * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback): + * cdef blist.PurpleGroup *group = node # <<<<<<<<<<<<<< + * cdef char *c_name = NULL + * + */ + __pyx_v_group = ((PurpleGroup *)__pyx_v_node); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":29 + * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback): + * cdef blist.PurpleGroup *group = node + * cdef char *c_name = NULL # <<<<<<<<<<<<<< + * + * c_name = blist.purple_group_get_name(group) + */ + __pyx_v_c_name = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":31 + * cdef char *c_name = NULL + * + * c_name = blist.purple_group_get_name(group) # <<<<<<<<<<<<<< + * if c_name == NULL: + * name = None + */ + __pyx_v_c_name = ((char *)purple_group_get_name(__pyx_v_group)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":32 + * + * c_name = blist.purple_group_get_name(group) + * if c_name == NULL: # <<<<<<<<<<<<<< + * name = None + * else: + */ + __pyx_1 = (__pyx_v_c_name == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":33 + * c_name = blist.purple_group_get_name(group) + * if c_name == NULL: + * name = None # <<<<<<<<<<<<<< + * else: + * name = c_name + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_name); + __pyx_v_name = Py_None; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":35 + * name = None + * else: + * name = c_name # <<<<<<<<<<<<<< + * + * currentsize = blist.purple_blist_get_group_size(group, False) + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_name); + __pyx_v_name = __pyx_2; + __pyx_2 = 0; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":37 + * name = c_name + * + * currentsize = blist.purple_blist_get_group_size(group, False) # <<<<<<<<<<<<<< + * totalsize = blist.purple_blist_get_group_size(group, True) + * online = blist.purple_blist_get_group_online_count(group) + */ + __pyx_2 = PyInt_FromLong(purple_blist_get_group_size(__pyx_v_group, 0)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_currentsize); + __pyx_v_currentsize = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":38 + * + * currentsize = blist.purple_blist_get_group_size(group, False) + * totalsize = blist.purple_blist_get_group_size(group, True) # <<<<<<<<<<<<<< + * online = blist.purple_blist_get_group_online_count(group) + * + */ + __pyx_2 = PyInt_FromLong(purple_blist_get_group_size(__pyx_v_group, 1)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_totalsize); + __pyx_v_totalsize = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":39 + * currentsize = blist.purple_blist_get_group_size(group, False) + * totalsize = blist.purple_blist_get_group_size(group, True) + * online = blist.purple_blist_get_group_online_count(group) # <<<<<<<<<<<<<< + * + * callback(node.type, name, totalsize, currentsize, online) + */ + __pyx_2 = PyInt_FromLong(purple_blist_get_group_online_count(__pyx_v_group)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_online); + __pyx_v_online = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":41 + * online = blist.purple_blist_get_group_online_count(group) + * + * callback(node.type, name, totalsize, currentsize, online) # <<<<<<<<<<<<<< + * + * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback): + */ + __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2); + Py_INCREF(__pyx_v_name); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name); + Py_INCREF(__pyx_v_totalsize); + PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_totalsize); + Py_INCREF(__pyx_v_currentsize); + PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_currentsize); + Py_INCREF(__pyx_v_online); + PyTuple_SET_ITEM(__pyx_3, 4, __pyx_v_online); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.__group_node_cb"); + __pyx_L0:; + Py_DECREF(__pyx_v_name); + Py_DECREF(__pyx_v_currentsize); + Py_DECREF(__pyx_v_totalsize); + Py_DECREF(__pyx_v_online); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":43 + * callback(node.type, name, totalsize, currentsize, online) + * + * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback): # <<<<<<<<<<<<<< + * cdef blist.PurpleContact *contact = node + * cdef char *c_alias = NULL + */ + +static void __pyx_f_6purple___contact_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) { + PurpleContact *__pyx_v_contact; + char *__pyx_v_c_alias; + PyObject *__pyx_v_alias; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + PyObject *__pyx_5 = 0; + PyObject *__pyx_6 = 0; + __pyx_v_alias = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":44 + * + * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback): + * cdef blist.PurpleContact *contact = node # <<<<<<<<<<<<<< + * cdef char *c_alias = NULL + * + */ + __pyx_v_contact = ((PurpleContact *)__pyx_v_node); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":45 + * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback): + * cdef blist.PurpleContact *contact = node + * cdef char *c_alias = NULL # <<<<<<<<<<<<<< + * + * c_alias = blist.purple_contact_get_alias(contact) + */ + __pyx_v_c_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":47 + * cdef char *c_alias = NULL + * + * c_alias = blist.purple_contact_get_alias(contact) # <<<<<<<<<<<<<< + * if c_alias == NULL: + * alias = None + */ + __pyx_v_c_alias = ((char *)purple_contact_get_alias(__pyx_v_contact)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":48 + * + * c_alias = blist.purple_contact_get_alias(contact) + * if c_alias == NULL: # <<<<<<<<<<<<<< + * alias = None + * else: + */ + __pyx_1 = (__pyx_v_c_alias == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":49 + * c_alias = blist.purple_contact_get_alias(contact) + * if c_alias == NULL: + * alias = None # <<<<<<<<<<<<<< + * else: + * alias = c_alias + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_alias); + __pyx_v_alias = Py_None; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":51 + * alias = None + * else: + * alias = c_alias # <<<<<<<<<<<<<< + * + * callback(node.type, alias, contact.totalsize, contact.currentsize, \ + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_alias); + __pyx_v_alias = __pyx_2; + __pyx_2 = 0; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":53 + * alias = c_alias + * + * callback(node.type, alias, contact.totalsize, contact.currentsize, \ # <<<<<<<<<<<<<< + * contact.online) + * + */ + __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyInt_FromLong(__pyx_v_contact->totalsize); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyInt_FromLong(__pyx_v_contact->currentsize); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":54 + * + * callback(node.type, alias, contact.totalsize, contact.currentsize, \ + * contact.online) # <<<<<<<<<<<<<< + * + * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback): + */ + __pyx_5 = PyInt_FromLong(__pyx_v_contact->online); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_6 = PyTuple_New(5); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_6, 0, __pyx_2); + Py_INCREF(__pyx_v_alias); + PyTuple_SET_ITEM(__pyx_6, 1, __pyx_v_alias); + PyTuple_SET_ITEM(__pyx_6, 2, __pyx_3); + PyTuple_SET_ITEM(__pyx_6, 3, __pyx_4); + PyTuple_SET_ITEM(__pyx_6, 4, __pyx_5); + __pyx_2 = 0; + __pyx_3 = 0; + __pyx_4 = 0; + __pyx_5 = 0; + __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + Py_XDECREF(__pyx_5); + Py_XDECREF(__pyx_6); + __Pyx_WriteUnraisable("purple.__contact_node_cb"); + __pyx_L0:; + Py_DECREF(__pyx_v_alias); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":56 + * contact.online) + * + * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback): # <<<<<<<<<<<<<< + * cdef blist.PurpleBuddy *buddy = node + * cdef char *c_name = NULL + */ + +static void __pyx_f_6purple___buddy_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) { + PurpleBuddy *__pyx_v_buddy; + char *__pyx_v_c_name; + char *__pyx_v_c_alias; + PyObject *__pyx_v_name; + PyObject *__pyx_v_alias; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + __pyx_v_name = Py_None; Py_INCREF(Py_None); + __pyx_v_alias = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":57 + * + * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback): + * cdef blist.PurpleBuddy *buddy = node # <<<<<<<<<<<<<< + * cdef char *c_name = NULL + * cdef char *c_alias = NULL + */ + __pyx_v_buddy = ((PurpleBuddy *)__pyx_v_node); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":58 + * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback): + * cdef blist.PurpleBuddy *buddy = node + * cdef char *c_name = NULL # <<<<<<<<<<<<<< + * cdef char *c_alias = NULL + * + */ + __pyx_v_c_name = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":59 + * cdef blist.PurpleBuddy *buddy = node + * cdef char *c_name = NULL + * cdef char *c_alias = NULL # <<<<<<<<<<<<<< + * + * c_name = blist.purple_buddy_get_name(buddy) + */ + __pyx_v_c_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":61 + * cdef char *c_alias = NULL + * + * c_name = blist.purple_buddy_get_name(buddy) # <<<<<<<<<<<<<< + * if c_name == NULL: + * name = None + */ + __pyx_v_c_name = ((char *)purple_buddy_get_name(__pyx_v_buddy)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":62 + * + * c_name = blist.purple_buddy_get_name(buddy) + * if c_name == NULL: # <<<<<<<<<<<<<< + * name = None + * else: + */ + __pyx_1 = (__pyx_v_c_name == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":63 + * c_name = blist.purple_buddy_get_name(buddy) + * if c_name == NULL: + * name = None # <<<<<<<<<<<<<< + * else: + * name = c_name + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_name); + __pyx_v_name = Py_None; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":65 + * name = None + * else: + * name = c_name # <<<<<<<<<<<<<< + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_name); + __pyx_v_name = __pyx_2; + __pyx_2 = 0; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":67 + * name = c_name + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) # <<<<<<<<<<<<<< + * if c_alias == NULL: + * alias = None + */ + __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":68 + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) + * if c_alias == NULL: # <<<<<<<<<<<<<< + * alias = None + * else: + */ + __pyx_1 = (__pyx_v_c_alias == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":69 + * c_alias = blist.purple_buddy_get_alias_only(buddy) + * if c_alias == NULL: + * alias = None # <<<<<<<<<<<<<< + * else: + * alias = c_alias + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_alias); + __pyx_v_alias = Py_None; + goto __pyx_L4; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":71 + * alias = None + * else: + * alias = c_alias # <<<<<<<<<<<<<< + * + * callback(node.type, name, alias) + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_alias); + __pyx_v_alias = __pyx_2; + __pyx_2 = 0; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":73 + * alias = c_alias + * + * callback(node.type, name, alias) # <<<<<<<<<<<<<< + * + * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback): + */ + __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(3); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2); + Py_INCREF(__pyx_v_name); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name); + Py_INCREF(__pyx_v_alias); + PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_alias); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.__buddy_node_cb"); + __pyx_L0:; + Py_DECREF(__pyx_v_name); + Py_DECREF(__pyx_v_alias); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":75 + * callback(node.type, name, alias) + * + * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback): # <<<<<<<<<<<<<< + * cdef blist.PurpleChat *chat = node + * cdef char *c_name = NULL + */ + +static void __pyx_f_6purple___chat_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) { + PurpleChat *__pyx_v_chat; + char *__pyx_v_c_name; + PyObject *__pyx_v_name; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + __pyx_v_name = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":76 + * + * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback): + * cdef blist.PurpleChat *chat = node # <<<<<<<<<<<<<< + * cdef char *c_name = NULL + * + */ + __pyx_v_chat = ((PurpleChat *)__pyx_v_node); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":77 + * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback): + * cdef blist.PurpleChat *chat = node + * cdef char *c_name = NULL # <<<<<<<<<<<<<< + * + * c_name = blist.purple_chat_get_name(chat) + */ + __pyx_v_c_name = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":79 + * cdef char *c_name = NULL + * + * c_name = blist.purple_chat_get_name(chat) # <<<<<<<<<<<<<< + * if c_name == NULL: + * name = None + */ + __pyx_v_c_name = ((char *)purple_chat_get_name(__pyx_v_chat)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":80 + * + * c_name = blist.purple_chat_get_name(chat) + * if c_name == NULL: # <<<<<<<<<<<<<< + * name = None + * else: + */ + __pyx_1 = (__pyx_v_c_name == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":81 + * c_name = blist.purple_chat_get_name(chat) + * if c_name == NULL: + * name = None # <<<<<<<<<<<<<< + * else: + * name = c_name + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_name); + __pyx_v_name = Py_None; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":83 + * name = None + * else: + * name = c_name # <<<<<<<<<<<<<< + * + * callback(node.type, name) + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_name); + __pyx_v_name = __pyx_2; + __pyx_2 = 0; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":85 + * name = c_name + * + * callback(node.type, name) # <<<<<<<<<<<<<< + * + * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback): + */ + __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2); + Py_INCREF(__pyx_v_name); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.__chat_node_cb"); + __pyx_L0:; + Py_DECREF(__pyx_v_name); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":87 + * callback(node.type, name) + * + * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback): # <<<<<<<<<<<<<< + * callback(node.type) + * + */ + +static void __pyx_f_6purple___other_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":88 + * + * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback): + * callback(node.type) # <<<<<<<<<<<<<< + * + * cdef void new_list(blist.PurpleBuddyList *list): + */ + __pyx_1 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + Py_DECREF(__pyx_1); __pyx_1 = 0; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + __Pyx_WriteUnraisable("purple.__other_node_cb"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":90 + * callback(node.type) + * + * cdef void new_list(blist.PurpleBuddyList *list): # <<<<<<<<<<<<<< + * """ + * Sets UI-specific data on a buddy list. + */ + +static void __pyx_f_6purple_new_list(PurpleBuddyList *__pyx_v_list) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":94 + * Sets UI-specific data on a buddy list. + * """ + * debug.purple_debug_info("blist", "%s", "new-list\n") # <<<<<<<<<<<<<< + * if blist_cbs.has_key("new-list"): + * ( blist_cbs["new-list"])("new-list: TODO") + */ + purple_debug_info(__pyx_k_36, __pyx_k_37, __pyx_k_38); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":95 + * """ + * debug.purple_debug_info("blist", "%s", "new-list\n") + * if blist_cbs.has_key("new-list"): # <<<<<<<<<<<<<< + * ( blist_cbs["new-list"])("new-list: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_39); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_39); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":96 + * debug.purple_debug_info("blist", "%s", "new-list\n") + * if blist_cbs.has_key("new-list"): + * ( blist_cbs["new-list"])("new-list: TODO") # <<<<<<<<<<<<<< + * + * cdef void new_node(blist.PurpleBlistNode *node): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_40); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_41); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_41); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.new_list"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":98 + * ( blist_cbs["new-list"])("new-list: TODO") + * + * cdef void new_node(blist.PurpleBlistNode *node): # <<<<<<<<<<<<<< + * """ + * Sets UI-specific data on a node. + */ + +static void __pyx_f_6purple_new_node(PurpleBlistNode *__pyx_v_node) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":102 + * Sets UI-specific data on a node. + * """ + * debug.purple_debug_info("blist", "%s", "new-node\n") # <<<<<<<<<<<<<< + * if blist_cbs.has_key("new-node"): + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + */ + purple_debug_info(__pyx_k_42, __pyx_k_43, __pyx_k_44); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":103 + * """ + * debug.purple_debug_info("blist", "%s", "new-node\n") + * if blist_cbs.has_key("new-node"): # <<<<<<<<<<<<<< + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + * __group_node_cb(node, blist_cbs["new-node"]) + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_45); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_45); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":104 + * debug.purple_debug_info("blist", "%s", "new-node\n") + * if blist_cbs.has_key("new-node"): + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: # <<<<<<<<<<<<<< + * __group_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":105 + * if blist_cbs.has_key("new-node"): + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + * __group_node_cb(node, blist_cbs["new-node"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + * __contact_node_cb(node, blist_cbs["new-node"]) + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_46); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1); + Py_DECREF(__pyx_1); __pyx_1 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":106 + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + * __group_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: # <<<<<<<<<<<<<< + * __contact_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":107 + * __group_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + * __contact_node_cb(node, blist_cbs["new-node"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + * __buddy_node_cb(node, blist_cbs["new-node"]) + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_47); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2); + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":108 + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + * __contact_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: # <<<<<<<<<<<<<< + * __buddy_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":109 + * __contact_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + * __buddy_node_cb(node, blist_cbs["new-node"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + * __chat_node_cb(node, blist_cbs["new-node"]) + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_48); if (!__pyx_3) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3); + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":110 + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + * __buddy_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: # <<<<<<<<<<<<<< + * __chat_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":111 + * __buddy_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + * __chat_node_cb(node, blist_cbs["new-node"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: + * __other_node_cb(node, blist_cbs["new-node"]) + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_49); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1); + Py_DECREF(__pyx_1); __pyx_1 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":112 + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + * __chat_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: # <<<<<<<<<<<<<< + * __other_node_cb(node, blist_cbs["new-node"]) + * + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":113 + * __chat_node_cb(node, blist_cbs["new-node"]) + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: + * __other_node_cb(node, blist_cbs["new-node"]) # <<<<<<<<<<<<<< + * + * cdef void show(blist.PurpleBuddyList *list): + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_50); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2); + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L4; + } + __pyx_L4:; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.new_node"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":115 + * __other_node_cb(node, blist_cbs["new-node"]) + * + * cdef void show(blist.PurpleBuddyList *list): # <<<<<<<<<<<<<< + * """ + * The core will call this when it's finished doing its core stuff. + */ + +static void __pyx_f_6purple_show(PurpleBuddyList *__pyx_v_list) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":119 + * The core will call this when it's finished doing its core stuff. + * """ + * debug.purple_debug_info("blist", "%s", "show\n") # <<<<<<<<<<<<<< + * if blist_cbs.has_key("show"): + * ( blist_cbs["show"])("show: TODO") + */ + purple_debug_info(__pyx_k_51, __pyx_k_52, __pyx_k_53); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":120 + * """ + * debug.purple_debug_info("blist", "%s", "show\n") + * if blist_cbs.has_key("show"): # <<<<<<<<<<<<<< + * ( blist_cbs["show"])("show: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_54); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_54); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":121 + * debug.purple_debug_info("blist", "%s", "show\n") + * if blist_cbs.has_key("show"): + * ( blist_cbs["show"])("show: TODO") # <<<<<<<<<<<<<< + * + * cdef void update(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_55); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_56); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_56); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.show"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":123 + * ( blist_cbs["show"])("show: TODO") + * + * cdef void update(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): # <<<<<<<<<<<<<< + * """ + * This will update a node in the buddy list. + */ + +static void __pyx_f_6purple_update(PurpleBuddyList *__pyx_v_list, PurpleBlistNode *__pyx_v_node) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":127 + * This will update a node in the buddy list. + * """ + * debug.purple_debug_info("blist", "%s", "update\n") # <<<<<<<<<<<<<< + * if blist_cbs.has_key("update"): + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + */ + purple_debug_info(__pyx_k_57, __pyx_k_58, __pyx_k_59); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":128 + * """ + * debug.purple_debug_info("blist", "%s", "update\n") + * if blist_cbs.has_key("update"): # <<<<<<<<<<<<<< + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + * __group_node_cb(node, blist_cbs["update"]) + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_60); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_60); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":129 + * debug.purple_debug_info("blist", "%s", "update\n") + * if blist_cbs.has_key("update"): + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: # <<<<<<<<<<<<<< + * __group_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":130 + * if blist_cbs.has_key("update"): + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + * __group_node_cb(node, blist_cbs["update"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + * __contact_node_cb(node, blist_cbs["update"]) + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_61); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1); + Py_DECREF(__pyx_1); __pyx_1 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":131 + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + * __group_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: # <<<<<<<<<<<<<< + * __contact_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":132 + * __group_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + * __contact_node_cb(node, blist_cbs["update"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + * __buddy_node_cb(node, blist_cbs["update"]) + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_62); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2); + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":133 + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + * __contact_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: # <<<<<<<<<<<<<< + * __buddy_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":134 + * __contact_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + * __buddy_node_cb(node, blist_cbs["update"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + * __chat_node_cb(node, blist_cbs["update"]) + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_63); if (!__pyx_3) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3); + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":135 + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + * __buddy_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: # <<<<<<<<<<<<<< + * __chat_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":136 + * __buddy_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + * __chat_node_cb(node, blist_cbs["update"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: + * __other_node_cb(node, blist_cbs["update"]) + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_64); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1); + Py_DECREF(__pyx_1); __pyx_1 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":137 + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + * __chat_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: # <<<<<<<<<<<<<< + * __other_node_cb(node, blist_cbs["update"]) + * + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":138 + * __chat_node_cb(node, blist_cbs["update"]) + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: + * __other_node_cb(node, blist_cbs["update"]) # <<<<<<<<<<<<<< + * + * cdef void remove(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_65); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2); + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L4; + } + __pyx_L4:; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.update"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":140 + * __other_node_cb(node, blist_cbs["update"]) + * + * cdef void remove(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): # <<<<<<<<<<<<<< + * """ + * This removes a node from the list. + */ + +static void __pyx_f_6purple_remove(PurpleBuddyList *__pyx_v_list, PurpleBlistNode *__pyx_v_node) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":144 + * This removes a node from the list. + * """ + * debug.purple_debug_info("blist", "%s", "remove\n") # <<<<<<<<<<<<<< + * if blist_cbs.has_key("remove"): + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + */ + purple_debug_info(__pyx_k_66, __pyx_k_67, __pyx_k_68); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":145 + * """ + * debug.purple_debug_info("blist", "%s", "remove\n") + * if blist_cbs.has_key("remove"): # <<<<<<<<<<<<<< + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + * __group_node_cb(node, blist_cbs["remove"]) + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_69); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_69); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":146 + * debug.purple_debug_info("blist", "%s", "remove\n") + * if blist_cbs.has_key("remove"): + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: # <<<<<<<<<<<<<< + * __group_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":147 + * if blist_cbs.has_key("remove"): + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + * __group_node_cb(node, blist_cbs["remove"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + * __contact_node_cb(node, blist_cbs["remove"]) + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_70); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1); + Py_DECREF(__pyx_1); __pyx_1 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":148 + * if node.type == blist.PURPLE_BLIST_GROUP_NODE: + * __group_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: # <<<<<<<<<<<<<< + * __contact_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":149 + * __group_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + * __contact_node_cb(node, blist_cbs["remove"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + * __buddy_node_cb(node, blist_cbs["remove"]) + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_71); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2); + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":150 + * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: + * __contact_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: # <<<<<<<<<<<<<< + * __buddy_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":151 + * __contact_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + * __buddy_node_cb(node, blist_cbs["remove"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + * __chat_node_cb(node, blist_cbs["remove"]) + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_72); if (!__pyx_3) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3); + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":152 + * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: + * __buddy_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: # <<<<<<<<<<<<<< + * __chat_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":153 + * __buddy_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + * __chat_node_cb(node, blist_cbs["remove"]) # <<<<<<<<<<<<<< + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: + * __other_node_cb(node, blist_cbs["remove"]) + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_73); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1); + Py_DECREF(__pyx_1); __pyx_1 = 0; + goto __pyx_L4; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":154 + * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: + * __chat_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: # <<<<<<<<<<<<<< + * __other_node_cb(node, blist_cbs["remove"]) + * + */ + __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":155 + * __chat_node_cb(node, blist_cbs["remove"]) + * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: + * __other_node_cb(node, blist_cbs["remove"]) # <<<<<<<<<<<<<< + * + * cdef void destroy(blist.PurpleBuddyList *list): + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_74); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2); + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L4; + } + __pyx_L4:; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.remove"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":157 + * __other_node_cb(node, blist_cbs["remove"]) + * + * cdef void destroy(blist.PurpleBuddyList *list): # <<<<<<<<<<<<<< + * """ + * When the list gets destroyed, this gets called to destroy the UI. + */ + +static void __pyx_f_6purple_destroy(PurpleBuddyList *__pyx_v_list) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":161 + * When the list gets destroyed, this gets called to destroy the UI. + * """ + * debug.purple_debug_info("blist", "%s", "destroy\n") # <<<<<<<<<<<<<< + * if blist_cbs.has_key("destroy"): + * ( blist_cbs["destroy"])("destroy: TODO") + */ + purple_debug_info(__pyx_k_75, __pyx_k_76, __pyx_k_77); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":162 + * """ + * debug.purple_debug_info("blist", "%s", "destroy\n") + * if blist_cbs.has_key("destroy"): # <<<<<<<<<<<<<< + * ( blist_cbs["destroy"])("destroy: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_78); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_78); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":163 + * debug.purple_debug_info("blist", "%s", "destroy\n") + * if blist_cbs.has_key("destroy"): + * ( blist_cbs["destroy"])("destroy: TODO") # <<<<<<<<<<<<<< + * + * cdef void set_visible(blist.PurpleBuddyList *list, glib.gboolean show): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_79); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_80); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_80); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.destroy"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":165 + * ( blist_cbs["destroy"])("destroy: TODO") + * + * cdef void set_visible(blist.PurpleBuddyList *list, glib.gboolean show): # <<<<<<<<<<<<<< + * """ + * Hides or unhides the buddy list. + */ + +static void __pyx_f_6purple_set_visible(PurpleBuddyList *__pyx_v_list, gboolean __pyx_v_show) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":169 + * Hides or unhides the buddy list. + * """ + * debug.purple_debug_info("blist", "%s", "set-visible\n") # <<<<<<<<<<<<<< + * if blist_cbs.has_key("set-visible"): + * ( blist_cbs["set-visible"])("set-visible: TODO") + */ + purple_debug_info(__pyx_k_81, __pyx_k_82, __pyx_k_83); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":170 + * """ + * debug.purple_debug_info("blist", "%s", "set-visible\n") + * if blist_cbs.has_key("set-visible"): # <<<<<<<<<<<<<< + * ( blist_cbs["set-visible"])("set-visible: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_84); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_84); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":171 + * debug.purple_debug_info("blist", "%s", "set-visible\n") + * if blist_cbs.has_key("set-visible"): + * ( blist_cbs["set-visible"])("set-visible: TODO") # <<<<<<<<<<<<<< + * + * cdef void request_add_buddy(account.PurpleAccount *c_account, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_85); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_86); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_86); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.set_visible"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":173 + * ( blist_cbs["set-visible"])("set-visible: TODO") + * + * cdef void request_add_buddy(account.PurpleAccount *c_account, \ # <<<<<<<<<<<<<< + * const_char *c_buddy_username, const_char *c_buddy_group, \ + * const_char *c_buddy_alias): + */ + +static void __pyx_f_6purple_request_add_buddy(PurpleAccount *__pyx_v_c_account, const char *__pyx_v_c_buddy_username, const char *__pyx_v_c_buddy_group, const char *__pyx_v_c_buddy_alias) { + PyObject *__pyx_v_username; + PyObject *__pyx_v_protocol_id; + PyObject *__pyx_v_buddy_username; + PyObject *__pyx_v_buddy_group; + PyObject *__pyx_v_buddy_alias; + PyObject *__pyx_1 = 0; + int __pyx_2; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_username = Py_None; Py_INCREF(Py_None); + __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None); + __pyx_v_buddy_username = Py_None; Py_INCREF(Py_None); + __pyx_v_buddy_group = Py_None; Py_INCREF(Py_None); + __pyx_v_buddy_alias = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":180 + * list. + * """ + * debug.purple_debug_info("blist", "%s", "request-add-buddy\n") # <<<<<<<<<<<<<< + * + * username = account.purple_account_get_username(c_account) + */ + purple_debug_info(__pyx_k_87, __pyx_k_88, __pyx_k_89); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":182 + * debug.purple_debug_info("blist", "%s", "request-add-buddy\n") + * + * username = account.purple_account_get_username(c_account) # <<<<<<<<<<<<<< + * protocol_id = account.purple_account_get_protocol_id(c_account) + * + */ + __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_1; + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":183 + * + * username = account.purple_account_get_username(c_account) + * protocol_id = account.purple_account_get_protocol_id(c_account) # <<<<<<<<<<<<<< + * + * if c_buddy_username: + */ + __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = __pyx_1; + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":185 + * protocol_id = account.purple_account_get_protocol_id(c_account) + * + * if c_buddy_username: # <<<<<<<<<<<<<< + * buddy_username = c_buddy_username + * else: + */ + __pyx_2 = (__pyx_v_c_buddy_username != 0); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":186 + * + * if c_buddy_username: + * buddy_username = c_buddy_username # <<<<<<<<<<<<<< + * else: + * buddy_username = None + */ + __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_username)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_buddy_username); + __pyx_v_buddy_username = __pyx_1; + __pyx_1 = 0; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":188 + * buddy_username = c_buddy_username + * else: + * buddy_username = None # <<<<<<<<<<<<<< + * + * if c_buddy_group: + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_buddy_username); + __pyx_v_buddy_username = Py_None; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":190 + * buddy_username = None + * + * if c_buddy_group: # <<<<<<<<<<<<<< + * buddy_group = c_buddy_group + * else: + */ + __pyx_2 = (__pyx_v_c_buddy_group != 0); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":191 + * + * if c_buddy_group: + * buddy_group = c_buddy_group # <<<<<<<<<<<<<< + * else: + * buddy_group = None + */ + __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_group)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_buddy_group); + __pyx_v_buddy_group = __pyx_1; + __pyx_1 = 0; + goto __pyx_L4; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":193 + * buddy_group = c_buddy_group + * else: + * buddy_group = None # <<<<<<<<<<<<<< + * + * if c_buddy_alias: + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_buddy_group); + __pyx_v_buddy_group = Py_None; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":195 + * buddy_group = None + * + * if c_buddy_alias: # <<<<<<<<<<<<<< + * buddy_alias = c_buddy_alias + * else: + */ + __pyx_2 = (__pyx_v_c_buddy_alias != 0); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":196 + * + * if c_buddy_alias: + * buddy_alias = c_buddy_alias # <<<<<<<<<<<<<< + * else: + * buddy_alias = None + */ + __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_alias)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_buddy_alias); + __pyx_v_buddy_alias = __pyx_1; + __pyx_1 = 0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":198 + * buddy_alias = c_buddy_alias + * else: + * buddy_alias = None # <<<<<<<<<<<<<< + * + * if blist_cbs.has_key("request-add-buddy"): + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_buddy_alias); + __pyx_v_buddy_alias = Py_None; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":200 + * buddy_alias = None + * + * if blist_cbs.has_key("request-add-buddy"): # <<<<<<<<<<<<<< + * ( blist_cbs["request-add-buddy"])( \ + * (username, protocol_id), \ + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_90); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_90); + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":201 + * + * if blist_cbs.has_key("request-add-buddy"): + * ( blist_cbs["request-add-buddy"])( \ # <<<<<<<<<<<<<< + * (username, protocol_id), \ + * buddy_username, buddy_group, buddy_alias) + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_3, __pyx_kp_91); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":202 + * if blist_cbs.has_key("request-add-buddy"): + * ( blist_cbs["request-add-buddy"])( \ + * (username, protocol_id), \ # <<<<<<<<<<<<<< + * buddy_username, buddy_group, buddy_alias) + * + */ + __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_username); + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username); + Py_INCREF(__pyx_v_protocol_id); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":203 + * ( blist_cbs["request-add-buddy"])( \ + * (username, protocol_id), \ + * buddy_username, buddy_group, buddy_alias) # <<<<<<<<<<<<<< + * + * cdef void request_add_chat(account.PurpleAccount *acc, \ + */ + __pyx_3 = PyTuple_New(4); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, ((PyObject *)__pyx_4)); + Py_INCREF(__pyx_v_buddy_username); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_buddy_username); + Py_INCREF(__pyx_v_buddy_group); + PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_buddy_group); + Py_INCREF(__pyx_v_buddy_alias); + PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_buddy_alias); + __pyx_4 = 0; + __pyx_4 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_4); __pyx_4 = 0; + goto __pyx_L6; + } + __pyx_L6:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_WriteUnraisable("purple.request_add_buddy"); + __pyx_L0:; + Py_DECREF(__pyx_v_username); + Py_DECREF(__pyx_v_protocol_id); + Py_DECREF(__pyx_v_buddy_username); + Py_DECREF(__pyx_v_buddy_group); + Py_DECREF(__pyx_v_buddy_alias); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":205 + * buddy_username, buddy_group, buddy_alias) + * + * cdef void request_add_chat(account.PurpleAccount *acc, \ # <<<<<<<<<<<<<< + * blist.PurpleGroup *group, const_char *alias, const_char *name): + * """ + */ + +static void __pyx_f_6purple_request_add_chat(PurpleAccount *__pyx_v_acc, PurpleGroup *__pyx_v_group, const char *__pyx_v_alias, const char *__pyx_v_name) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":210 + * TODO + * """ + * debug.purple_debug_info("blist", "%s", "request-add-chat\n") # <<<<<<<<<<<<<< + * if blist_cbs.has_key("request-add-chat"): + * ( blist_cbs["request-add-chat"])("request-add-chat: TODO") + */ + purple_debug_info(__pyx_k_92, __pyx_k_93, __pyx_k_94); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":211 + * """ + * debug.purple_debug_info("blist", "%s", "request-add-chat\n") + * if blist_cbs.has_key("request-add-chat"): # <<<<<<<<<<<<<< + * ( blist_cbs["request-add-chat"])("request-add-chat: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_95); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_95); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":212 + * debug.purple_debug_info("blist", "%s", "request-add-chat\n") + * if blist_cbs.has_key("request-add-chat"): + * ( blist_cbs["request-add-chat"])("request-add-chat: TODO") # <<<<<<<<<<<<<< + * + * cdef void request_add_group(): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_96); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_97); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_97); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.request_add_chat"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":214 + * ( blist_cbs["request-add-chat"])("request-add-chat: TODO") + * + * cdef void request_add_group(): # <<<<<<<<<<<<<< + * """ + * TODO + */ + +static void __pyx_f_6purple_request_add_group(void) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":218 + * TODO + * """ + * debug.purple_debug_info("blist", "%s", "request-add-group\n") # <<<<<<<<<<<<<< + * if blist_cbs.has_key("request-add-chat"): + * (blist_cbs["request-add-chat"])("request-add-group: TODO") + */ + purple_debug_info(__pyx_k_98, __pyx_k_99, __pyx_k_100); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":219 + * """ + * debug.purple_debug_info("blist", "%s", "request-add-group\n") + * if blist_cbs.has_key("request-add-chat"): # <<<<<<<<<<<<<< + * (blist_cbs["request-add-chat"])("request-add-group: TODO") + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_101); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_101); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":220 + * debug.purple_debug_info("blist", "%s", "request-add-group\n") + * if blist_cbs.has_key("request-add-chat"): + * (blist_cbs["request-add-chat"])("request-add-group: TODO") # <<<<<<<<<<<<<< + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_102); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_103); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_103); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.request_add_group"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":30 + * ctypedef int size_t + * + * cdef void connect_progress(connection.PurpleConnection *gc, const_char *text, \ # <<<<<<<<<<<<<< + * size_t step, size_t step_count): + * """ + */ + +static void __pyx_f_6purple_connect_progress(PurpleConnection *__pyx_v_gc, const char *__pyx_v_text, size_t __pyx_v_step, size_t __pyx_v_step_count) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + PyObject *__pyx_5 = 0; + PyObject *__pyx_6 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":37 + * reached (which might be displayed as a progress bar). + * """ + * debug.purple_debug_info("connection", "%s", "connect-progress\n") # <<<<<<<<<<<<<< + * if connection_cbs.has_key("connect-progress"): + * ( connection_cbs["connect-progress"])( text, step, step_count) + */ + purple_debug_info(__pyx_k_104, __pyx_k_105, __pyx_k_106); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":38 + * """ + * debug.purple_debug_info("connection", "%s", "connect-progress\n") + * if connection_cbs.has_key("connect-progress"): # <<<<<<<<<<<<<< + * ( connection_cbs["connect-progress"])( text, step, step_count) + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_107); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_107); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":39 + * debug.purple_debug_info("connection", "%s", "connect-progress\n") + * if connection_cbs.has_key("connect-progress"): + * ( connection_cbs["connect-progress"])( text, step, step_count) # <<<<<<<<<<<<<< + * + * cdef void connected(connection.PurpleConnection *gc): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_108); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_text)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyInt_FromLong(__pyx_v_step); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_5 = PyInt_FromLong(__pyx_v_step_count); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_6 = PyTuple_New(3); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_6, 0, __pyx_3); + PyTuple_SET_ITEM(__pyx_6, 1, __pyx_2); + PyTuple_SET_ITEM(__pyx_6, 2, __pyx_5); + __pyx_3 = 0; + __pyx_2 = 0; + __pyx_5 = 0; + __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_5); + Py_XDECREF(__pyx_6); + __Pyx_WriteUnraisable("purple.connect_progress"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":41 + * ( connection_cbs["connect-progress"])( text, step, step_count) + * + * cdef void connected(connection.PurpleConnection *gc): # <<<<<<<<<<<<<< + * """ + * Called when a connection is established (just before the signed-on signal). + */ + +static void __pyx_f_6purple_connected(PurpleConnection *__pyx_v_gc) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":45 + * Called when a connection is established (just before the signed-on signal). + * """ + * debug.purple_debug_info("connection", "%s", "connected\n") # <<<<<<<<<<<<<< + * if connection_cbs.has_key("connected"): + * ( connection_cbs["connected"])("connected: TODO") + */ + purple_debug_info(__pyx_k_109, __pyx_k_110, __pyx_k_111); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":46 + * """ + * debug.purple_debug_info("connection", "%s", "connected\n") + * if connection_cbs.has_key("connected"): # <<<<<<<<<<<<<< + * ( connection_cbs["connected"])("connected: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_112); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_112); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":47 + * debug.purple_debug_info("connection", "%s", "connected\n") + * if connection_cbs.has_key("connected"): + * ( connection_cbs["connected"])("connected: TODO") # <<<<<<<<<<<<<< + * + * cdef void disconnected(connection.PurpleConnection *gc): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_113); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_114); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_114); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.connected"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":49 + * ( connection_cbs["connected"])("connected: TODO") + * + * cdef void disconnected(connection.PurpleConnection *gc): # <<<<<<<<<<<<<< + * """ + * Called when a connection is ended (between the signing-off and signed-off + */ + +static void __pyx_f_6purple_disconnected(PurpleConnection *__pyx_v_gc) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":54 + * signal). + * """ + * debug.purple_debug_info("connection", "%s", "disconnected\n") # <<<<<<<<<<<<<< + * if connection_cbs.has_key("disconnected"): + * ( connection_cbs["disconnected"])("disconnected: TODO") + */ + purple_debug_info(__pyx_k_115, __pyx_k_116, __pyx_k_117); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":55 + * """ + * debug.purple_debug_info("connection", "%s", "disconnected\n") + * if connection_cbs.has_key("disconnected"): # <<<<<<<<<<<<<< + * ( connection_cbs["disconnected"])("disconnected: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_118); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_118); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":56 + * debug.purple_debug_info("connection", "%s", "disconnected\n") + * if connection_cbs.has_key("disconnected"): + * ( connection_cbs["disconnected"])("disconnected: TODO") # <<<<<<<<<<<<<< + * + * cdef void notice(connection.PurpleConnection *gc, const_char *text): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_119); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_120); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_120); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.disconnected"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":58 + * ( connection_cbs["disconnected"])("disconnected: TODO") + * + * cdef void notice(connection.PurpleConnection *gc, const_char *text): # <<<<<<<<<<<<<< + * """ + * Used to display connection-specific notices. (Pidgin's Gtk user interface + */ + +static void __pyx_f_6purple_notice(PurpleConnection *__pyx_v_gc, const char *__pyx_v_text) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":64 + * operation, is not used by any of the protocols shipped with libpurple.) + * """ + * debug.purple_debug_info("connection", "%s", "notice\n") # <<<<<<<<<<<<<< + * if connection_cbs.has_key("notice"): + * ( connection_cbs["notice"])("notice: TODO") + */ + purple_debug_info(__pyx_k_121, __pyx_k_122, __pyx_k_123); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":65 + * """ + * debug.purple_debug_info("connection", "%s", "notice\n") + * if connection_cbs.has_key("notice"): # <<<<<<<<<<<<<< + * ( connection_cbs["notice"])("notice: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_124); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_124); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":66 + * debug.purple_debug_info("connection", "%s", "notice\n") + * if connection_cbs.has_key("notice"): + * ( connection_cbs["notice"])("notice: TODO") # <<<<<<<<<<<<<< + * + * cdef void report_disconnect(connection.PurpleConnection *gc, const_char *text): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_125); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_126); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_126); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.notice"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":68 + * ( connection_cbs["notice"])("notice: TODO") + * + * cdef void report_disconnect(connection.PurpleConnection *gc, const_char *text): # <<<<<<<<<<<<<< + * """ + * Called when an error causes a connection to be disconnected. + */ + +static void __pyx_f_6purple_report_disconnect(PurpleConnection *__pyx_v_gc, const char *__pyx_v_text) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":77 + * PurpleConnectionUiOps.report_disconnect_reason. + * """ + * debug.purple_debug_info("connection", "%s", "report-disconnect\n") # <<<<<<<<<<<<<< + * if connection_cbs.has_key("report-disconnect"): + * ( connection_cbs["report-disconnect"])( text) + */ + purple_debug_info(__pyx_k_127, __pyx_k_128, __pyx_k_129); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":78 + * """ + * debug.purple_debug_info("connection", "%s", "report-disconnect\n") + * if connection_cbs.has_key("report-disconnect"): # <<<<<<<<<<<<<< + * ( connection_cbs["report-disconnect"])( text) + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_130); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_130); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":79 + * debug.purple_debug_info("connection", "%s", "report-disconnect\n") + * if connection_cbs.has_key("report-disconnect"): + * ( connection_cbs["report-disconnect"])( text) # <<<<<<<<<<<<<< + * + * cdef void network_connected(): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_131); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_text)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3); + __pyx_3 = 0; + __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.report_disconnect"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":81 + * ( connection_cbs["report-disconnect"])( text) + * + * cdef void network_connected(): # <<<<<<<<<<<<<< + * """ + * Called when libpurple discovers that the computer's network connection + */ + +static void __pyx_f_6purple_network_connected(void) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":87 + * it uses Win32's network change notification infrastructure. + * """ + * debug.purple_debug_info("connection", "%s", "network-connected\n") # <<<<<<<<<<<<<< + * if connection_cbs.has_key("network-connected"): + * ( connection_cbs["network-connected"])() + */ + purple_debug_info(__pyx_k_132, __pyx_k_133, __pyx_k_134); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":88 + * """ + * debug.purple_debug_info("connection", "%s", "network-connected\n") + * if connection_cbs.has_key("network-connected"): # <<<<<<<<<<<<<< + * ( connection_cbs["network-connected"])() + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_135); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_135); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":89 + * debug.purple_debug_info("connection", "%s", "network-connected\n") + * if connection_cbs.has_key("network-connected"): + * ( connection_cbs["network-connected"])() # <<<<<<<<<<<<<< + * + * cdef void network_disconnected(): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_136); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.network_connected"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":91 + * ( connection_cbs["network-connected"])() + * + * cdef void network_disconnected(): # <<<<<<<<<<<<<< + * """ + * Called when libpurple discovers that the computer's network connection + */ + +static void __pyx_f_6purple_network_disconnected(void) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":96 + * has gone away. + * """ + * debug.purple_debug_info("connection", "%s", "network-disconnected\n") # <<<<<<<<<<<<<< + * if connection_cbs.has_key("network-disconnected"): + * ( connection_cbs["network-disconnected"])() + */ + purple_debug_info(__pyx_k_137, __pyx_k_138, __pyx_k_139); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":97 + * """ + * debug.purple_debug_info("connection", "%s", "network-disconnected\n") + * if connection_cbs.has_key("network-disconnected"): # <<<<<<<<<<<<<< + * ( connection_cbs["network-disconnected"])() + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_140); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_140); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":98 + * debug.purple_debug_info("connection", "%s", "network-disconnected\n") + * if connection_cbs.has_key("network-disconnected"): + * ( connection_cbs["network-disconnected"])() # <<<<<<<<<<<<<< + * + * cdef void report_disconnect_reason(connection.PurpleConnection *gc, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_141); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.network_disconnected"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":100 + * ( connection_cbs["network-disconnected"])() + * + * cdef void report_disconnect_reason(connection.PurpleConnection *gc, \ # <<<<<<<<<<<<<< + * connection.PurpleConnectionError reason, const_char *c_text): + * """ + */ + +static void __pyx_f_6purple_report_disconnect_reason(PurpleConnection *__pyx_v_gc, PurpleConnectionError __pyx_v_reason, const char *__pyx_v_c_text) { + PyObject *__pyx_v_reason_string; + PyObject *__pyx_v_text; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + char *__pyx_5; + __pyx_v_reason_string = Py_None; Py_INCREF(Py_None); + __pyx_v_text = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":114 + * @since 2.3.0 + * """ + * debug.purple_debug_info("connection", "%s", "report-disconnect-reason\n") # <<<<<<<<<<<<<< + * + * reason_string = { + */ + purple_debug_info(__pyx_k_142, __pyx_k_143, __pyx_k_144); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":133 + * 14: 'Certificate self signed', + * 15: 'Certificate error (other)', + * 16: 'Other error' }[reason] # <<<<<<<<<<<<<< + * + * if c_text: + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":117 + * + * reason_string = { + * 0: 'Network error', # <<<<<<<<<<<<<< + * 1: 'Invalid username', + * 2: 'Authentication failed', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_0, __pyx_kp_145) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":118 + * reason_string = { + * 0: 'Network error', + * 1: 'Invalid username', # <<<<<<<<<<<<<< + * 2: 'Authentication failed', + * 3: 'Authentication impossible', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_1, __pyx_kp_146) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":119 + * 0: 'Network error', + * 1: 'Invalid username', + * 2: 'Authentication failed', # <<<<<<<<<<<<<< + * 3: 'Authentication impossible', + * 4: 'No SSL support', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_2, __pyx_kp_147) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":120 + * 1: 'Invalid username', + * 2: 'Authentication failed', + * 3: 'Authentication impossible', # <<<<<<<<<<<<<< + * 4: 'No SSL support', + * 5: 'Encryption error', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_3, __pyx_kp_148) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":121 + * 2: 'Authentication failed', + * 3: 'Authentication impossible', + * 4: 'No SSL support', # <<<<<<<<<<<<<< + * 5: 'Encryption error', + * 6: 'Name in use', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_4, __pyx_kp_149) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":122 + * 3: 'Authentication impossible', + * 4: 'No SSL support', + * 5: 'Encryption error', # <<<<<<<<<<<<<< + * 6: 'Name in use', + * 7: 'Invalid settings', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_5, __pyx_kp_150) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":123 + * 4: 'No SSL support', + * 5: 'Encryption error', + * 6: 'Name in use', # <<<<<<<<<<<<<< + * 7: 'Invalid settings', + * 8: 'Certificate not provided', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_6, __pyx_kp_151) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":124 + * 5: 'Encryption error', + * 6: 'Name in use', + * 7: 'Invalid settings', # <<<<<<<<<<<<<< + * 8: 'Certificate not provided', + * 9: 'Certificate untrusted', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_7, __pyx_kp_152) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":125 + * 6: 'Name in use', + * 7: 'Invalid settings', + * 8: 'Certificate not provided', # <<<<<<<<<<<<<< + * 9: 'Certificate untrusted', + * 10: 'Certificate expired', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_8, __pyx_kp_153) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":126 + * 7: 'Invalid settings', + * 8: 'Certificate not provided', + * 9: 'Certificate untrusted', # <<<<<<<<<<<<<< + * 10: 'Certificate expired', + * 11: 'Certificate not activated', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_9, __pyx_kp_154) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":127 + * 8: 'Certificate not provided', + * 9: 'Certificate untrusted', + * 10: 'Certificate expired', # <<<<<<<<<<<<<< + * 11: 'Certificate not activated', + * 12: 'Certificate hostname mismatch', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_10, __pyx_kp_155) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":128 + * 9: 'Certificate untrusted', + * 10: 'Certificate expired', + * 11: 'Certificate not activated', # <<<<<<<<<<<<<< + * 12: 'Certificate hostname mismatch', + * 13: 'Certificate fingerprint mismatch', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_11, __pyx_kp_156) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":129 + * 10: 'Certificate expired', + * 11: 'Certificate not activated', + * 12: 'Certificate hostname mismatch', # <<<<<<<<<<<<<< + * 13: 'Certificate fingerprint mismatch', + * 14: 'Certificate self signed', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_12, __pyx_kp_157) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":130 + * 11: 'Certificate not activated', + * 12: 'Certificate hostname mismatch', + * 13: 'Certificate fingerprint mismatch', # <<<<<<<<<<<<<< + * 14: 'Certificate self signed', + * 15: 'Certificate error (other)', + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_13, __pyx_kp_158) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":131 + * 12: 'Certificate hostname mismatch', + * 13: 'Certificate fingerprint mismatch', + * 14: 'Certificate self signed', # <<<<<<<<<<<<<< + * 15: 'Certificate error (other)', + * 16: 'Other error' }[reason] + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_14, __pyx_kp_159) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":132 + * 13: 'Certificate fingerprint mismatch', + * 14: 'Certificate self signed', + * 15: 'Certificate error (other)', # <<<<<<<<<<<<<< + * 16: 'Other error' }[reason] + * + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_15, __pyx_kp_160) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":133 + * 14: 'Certificate self signed', + * 15: 'Certificate error (other)', + * 16: 'Other error' }[reason] # <<<<<<<<<<<<<< + * + * if c_text: + */ + if (PyDict_SetItem(__pyx_1, __pyx_int_16, __pyx_kp_161) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyInt_FromLong(__pyx_v_reason); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetItem(((PyObject *)__pyx_1), __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(__pyx_v_reason_string); + __pyx_v_reason_string = __pyx_3; + __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":135 + * 16: 'Other error' }[reason] + * + * if c_text: # <<<<<<<<<<<<<< + * text = c_text + * else: + */ + __pyx_4 = (__pyx_v_c_text != 0); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":136 + * + * if c_text: + * text = c_text # <<<<<<<<<<<<<< + * else: + * text = None + */ + __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_text)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_text); + __pyx_v_text = __pyx_1; + __pyx_1 = 0; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":138 + * text = c_text + * else: + * text = None # <<<<<<<<<<<<<< + * + * if connection_cbs.has_key("report-disconnect-reason"): + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_text); + __pyx_v_text = Py_None; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":140 + * text = None + * + * if connection_cbs.has_key("report-disconnect-reason"): # <<<<<<<<<<<<<< + * ( connection_cbs["report-disconnect-reason"])(reason_string, text) + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_162); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_162); + __pyx_2 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":141 + * + * if connection_cbs.has_key("report-disconnect-reason"): + * ( connection_cbs["report-disconnect-reason"])(reason_string, text) # <<<<<<<<<<<<<< + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_3, __pyx_kp_163); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_5 = __Pyx_PyBytes_AsString(__pyx_v_text); if (unlikely((!__pyx_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_5)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_reason_string); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_reason_string); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L4; + } + __pyx_L4:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.report_disconnect_reason"); + __pyx_L0:; + Py_DECREF(__pyx_v_reason_string); + Py_DECREF(__pyx_v_text); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":29 + * conversation_cbs = {} + * + * cdef void create_conversation(conversation.PurpleConversation *conv): # <<<<<<<<<<<<<< + * """ + * Called when a conv is created (but before the conversation-created + */ + +static void __pyx_f_6purple_create_conversation(PurpleConversation *__pyx_v_conv) { + char *__pyx_v_c_name; + PyObject *__pyx_v_name; + PyObject *__pyx_v_type; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_name = Py_None; Py_INCREF(Py_None); + __pyx_v_type = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":34 + * signal is emitted). + * """ + * debug.purple_debug_info("conversation", "%s", "create-conversation\n") # <<<<<<<<<<<<<< + * cdef char *c_name = NULL + * + */ + purple_debug_info(__pyx_k_164, __pyx_k_165, __pyx_k_166); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":35 + * """ + * debug.purple_debug_info("conversation", "%s", "create-conversation\n") + * cdef char *c_name = NULL # <<<<<<<<<<<<<< + * + * c_name = conversation.purple_conversation_get_name(conv) + */ + __pyx_v_c_name = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":37 + * cdef char *c_name = NULL + * + * c_name = conversation.purple_conversation_get_name(conv) # <<<<<<<<<<<<<< + * if c_name == NULL: + * name = None + */ + __pyx_v_c_name = ((char *)purple_conversation_get_name(__pyx_v_conv)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":38 + * + * c_name = conversation.purple_conversation_get_name(conv) + * if c_name == NULL: # <<<<<<<<<<<<<< + * name = None + * else: + */ + __pyx_1 = (__pyx_v_c_name == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":39 + * c_name = conversation.purple_conversation_get_name(conv) + * if c_name == NULL: + * name = None # <<<<<<<<<<<<<< + * else: + * name = c_name + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_name); + __pyx_v_name = Py_None; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":41 + * name = None + * else: + * name = c_name # <<<<<<<<<<<<<< + * + * type = conversation.purple_conversation_get_type(conv) + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_name); + __pyx_v_name = __pyx_2; + __pyx_2 = 0; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":43 + * name = c_name + * + * type = conversation.purple_conversation_get_type(conv) # <<<<<<<<<<<<<< + * + * if conversation_cbs.has_key("create-conversation"): + */ + __pyx_2 = PyInt_FromLong(purple_conversation_get_type(__pyx_v_conv)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_type); + __pyx_v_type = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":45 + * type = conversation.purple_conversation_get_type(conv) + * + * if conversation_cbs.has_key("create-conversation"): # <<<<<<<<<<<<<< + * ( conversation_cbs["create-conversation"])(name, type) + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_167); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_167); + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":46 + * + * if conversation_cbs.has_key("create-conversation"): + * ( conversation_cbs["create-conversation"])(name, type) # <<<<<<<<<<<<<< + * + * cdef void destroy_conversation(conversation.PurpleConversation *conv): + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_168); if (!__pyx_2) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_name); + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_name); + Py_INCREF(__pyx_v_type); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_type); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L4; + } + __pyx_L4:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_WriteUnraisable("purple.create_conversation"); + __pyx_L0:; + Py_DECREF(__pyx_v_name); + Py_DECREF(__pyx_v_type); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":48 + * ( conversation_cbs["create-conversation"])(name, type) + * + * cdef void destroy_conversation(conversation.PurpleConversation *conv): # <<<<<<<<<<<<<< + * """ + * Called just before a conv is freed. + */ + +static void __pyx_f_6purple_destroy_conversation(PurpleConversation *__pyx_v_conv) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":52 + * Called just before a conv is freed. + * """ + * debug.purple_debug_info("conversation", "%s", "destroy-conversation\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("destroy-conversation"): + * ( conversation_cbs["destroy-conversation"])("destroy-conversation: TODO") + */ + purple_debug_info(__pyx_k_169, __pyx_k_170, __pyx_k_171); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":53 + * """ + * debug.purple_debug_info("conversation", "%s", "destroy-conversation\n") + * if conversation_cbs.has_key("destroy-conversation"): # <<<<<<<<<<<<<< + * ( conversation_cbs["destroy-conversation"])("destroy-conversation: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_172); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_172); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":54 + * debug.purple_debug_info("conversation", "%s", "destroy-conversation\n") + * if conversation_cbs.has_key("destroy-conversation"): + * ( conversation_cbs["destroy-conversation"])("destroy-conversation: TODO") # <<<<<<<<<<<<<< + * + * cdef void write_chat(conversation.PurpleConversation *conv, const_char *who, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_173); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_174); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_174); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.destroy_conversation"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":56 + * ( conversation_cbs["destroy-conversation"])("destroy-conversation: TODO") + * + * cdef void write_chat(conversation.PurpleConversation *conv, const_char *who, \ # <<<<<<<<<<<<<< + * const_char *message, conversation.PurpleMessageFlags flags, \ + * time_t mtime): + */ + +static void __pyx_f_6purple_write_chat(PurpleConversation *__pyx_v_conv, const char *__pyx_v_who, const char *__pyx_v_message, PurpleMessageFlags __pyx_v_flags, time_t __pyx_v_mtime) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":64 + * @see purple_conv_chat_write() + * """ + * debug.purple_debug_info("conversation", "%s", "write-chat\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("write-chat"): + * ( conversation_cbs["write-chat"])("write-chat: TODO") + */ + purple_debug_info(__pyx_k_175, __pyx_k_176, __pyx_k_177); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":65 + * """ + * debug.purple_debug_info("conversation", "%s", "write-chat\n") + * if conversation_cbs.has_key("write-chat"): # <<<<<<<<<<<<<< + * ( conversation_cbs["write-chat"])("write-chat: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_178); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_178); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":66 + * debug.purple_debug_info("conversation", "%s", "write-chat\n") + * if conversation_cbs.has_key("write-chat"): + * ( conversation_cbs["write-chat"])("write-chat: TODO") # <<<<<<<<<<<<<< + * + * cdef void write_im(conversation.PurpleConversation *conv, const_char *who, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_179); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_180); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_180); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.write_chat"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":68 + * ( conversation_cbs["write-chat"])("write-chat: TODO") + * + * cdef void write_im(conversation.PurpleConversation *conv, const_char *who, \ # <<<<<<<<<<<<<< + * const_char *c_message, conversation.PurpleMessageFlags flags, \ + * time_t mtime): + */ + +static void __pyx_f_6purple_write_im(PurpleConversation *__pyx_v_conv, const char *__pyx_v_who, const char *__pyx_v_c_message, PurpleMessageFlags __pyx_v_flags, time_t __pyx_v_mtime) { + PurpleAccount *__pyx_v_acc; + PurpleBuddy *__pyx_v_buddy; + char *__pyx_v_c_username; + char *__pyx_v_c_sender_alias; + PyObject *__pyx_v_username; + PyObject *__pyx_v_sender; + PyObject *__pyx_v_sender_alias; + PyObject *__pyx_v_message; + PyObject *__pyx_v_flag; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + PyObject *__pyx_5 = 0; + __pyx_v_username = Py_None; Py_INCREF(Py_None); + __pyx_v_sender = Py_None; Py_INCREF(Py_None); + __pyx_v_sender_alias = Py_None; Py_INCREF(Py_None); + __pyx_v_message = Py_None; Py_INCREF(Py_None); + __pyx_v_flag = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":76 + * @see purple_conv_im_write() + * """ + * debug.purple_debug_info("conversation", "%s", "write-im\n") # <<<<<<<<<<<<<< + * cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv) + * cdef blist.PurpleBuddy *buddy = NULL + */ + purple_debug_info(__pyx_k_181, __pyx_k_182, __pyx_k_183); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":77 + * """ + * debug.purple_debug_info("conversation", "%s", "write-im\n") + * cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv) # <<<<<<<<<<<<<< + * cdef blist.PurpleBuddy *buddy = NULL + * cdef char *c_username = NULL + */ + __pyx_v_acc = purple_conversation_get_account(__pyx_v_conv); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":78 + * debug.purple_debug_info("conversation", "%s", "write-im\n") + * cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv) + * cdef blist.PurpleBuddy *buddy = NULL # <<<<<<<<<<<<<< + * cdef char *c_username = NULL + * cdef char *c_sender_alias = NULL + */ + __pyx_v_buddy = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":79 + * cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv) + * cdef blist.PurpleBuddy *buddy = NULL + * cdef char *c_username = NULL # <<<<<<<<<<<<<< + * cdef char *c_sender_alias = NULL + * + */ + __pyx_v_c_username = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":80 + * cdef blist.PurpleBuddy *buddy = NULL + * cdef char *c_username = NULL + * cdef char *c_sender_alias = NULL # <<<<<<<<<<<<<< + * + * c_username = account.purple_account_get_username(acc) + */ + __pyx_v_c_sender_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":82 + * cdef char *c_sender_alias = NULL + * + * c_username = account.purple_account_get_username(acc) # <<<<<<<<<<<<<< + * if c_username: + * username = c_username + */ + __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":83 + * + * c_username = account.purple_account_get_username(acc) + * if c_username: # <<<<<<<<<<<<<< + * username = c_username + * else: + */ + __pyx_1 = (__pyx_v_c_username != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":84 + * c_username = account.purple_account_get_username(acc) + * if c_username: + * username = c_username # <<<<<<<<<<<<<< + * else: + * username = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":86 + * username = c_username + * else: + * username = None # <<<<<<<<<<<<<< + * + * if who == NULL: + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_username); + __pyx_v_username = Py_None; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":88 + * username = None + * + * if who == NULL: # <<<<<<<<<<<<<< + * who = conversation.purple_conversation_get_name(conv) + * + */ + __pyx_1 = (__pyx_v_who == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":89 + * + * if who == NULL: + * who = conversation.purple_conversation_get_name(conv) # <<<<<<<<<<<<<< + * + * sender = who + */ + __pyx_v_who = purple_conversation_get_name(__pyx_v_conv); + goto __pyx_L4; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":91 + * who = conversation.purple_conversation_get_name(conv) + * + * sender = who # <<<<<<<<<<<<<< + * buddy = blist.purple_find_buddy(acc, who) + * if buddy: + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_who)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_sender); + __pyx_v_sender = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":92 + * + * sender = who + * buddy = blist.purple_find_buddy(acc, who) # <<<<<<<<<<<<<< + * if buddy: + * c_sender_alias = blist.purple_buddy_get_alias_only(buddy) + */ + __pyx_v_buddy = purple_find_buddy(__pyx_v_acc, ((char *)__pyx_v_who)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":93 + * sender = who + * buddy = blist.purple_find_buddy(acc, who) + * if buddy: # <<<<<<<<<<<<<< + * c_sender_alias = blist.purple_buddy_get_alias_only(buddy) + * + */ + __pyx_1 = (__pyx_v_buddy != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":94 + * buddy = blist.purple_find_buddy(acc, who) + * if buddy: + * c_sender_alias = blist.purple_buddy_get_alias_only(buddy) # <<<<<<<<<<<<<< + * + * if c_sender_alias: + */ + __pyx_v_c_sender_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy)); + goto __pyx_L5; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":96 + * c_sender_alias = blist.purple_buddy_get_alias_only(buddy) + * + * if c_sender_alias: # <<<<<<<<<<<<<< + * sender_alias = unicode(c_sender_alias, 'utf-8') + * else: + */ + __pyx_1 = (__pyx_v_c_sender_alias != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":97 + * + * if c_sender_alias: + * sender_alias = unicode(c_sender_alias, 'utf-8') # <<<<<<<<<<<<<< + * else: + * sender_alias = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_sender_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2); + Py_INCREF(__pyx_kp_184); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_kp_184); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(((PyObject *)((PyObject*)&PyUnicode_Type)), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_v_sender_alias); + __pyx_v_sender_alias = __pyx_2; + __pyx_2 = 0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":99 + * sender_alias = unicode(c_sender_alias, 'utf-8') + * else: + * sender_alias = None # <<<<<<<<<<<<<< + * + * if c_message: + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_sender_alias); + __pyx_v_sender_alias = Py_None; + } + __pyx_L6:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":101 + * sender_alias = None + * + * if c_message: # <<<<<<<<<<<<<< + * message = c_message + * else: + */ + __pyx_1 = (__pyx_v_c_message != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":102 + * + * if c_message: + * message = c_message # <<<<<<<<<<<<<< + * else: + * message = None + */ + __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_message); + __pyx_v_message = __pyx_3; + __pyx_3 = 0; + goto __pyx_L7; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":104 + * message = c_message + * else: + * message = None # <<<<<<<<<<<<<< + * + * # FIXME: Maybe we need add more purple flags in the future + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_message); + __pyx_v_message = Py_None; + } + __pyx_L7:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":107 + * + * # FIXME: Maybe we need add more purple flags in the future + * if flags & conversation.PURPLE_MESSAGE_SEND: # <<<<<<<<<<<<<< + * flag = "SEND" + * else: + */ + __pyx_4 = (__pyx_v_flags & PURPLE_MESSAGE_SEND); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":108 + * # FIXME: Maybe we need add more purple flags in the future + * if flags & conversation.PURPLE_MESSAGE_SEND: + * flag = "SEND" # <<<<<<<<<<<<<< + * else: + * flag = "RECV" + */ + Py_INCREF(__pyx_kp_185); + Py_DECREF(__pyx_v_flag); + __pyx_v_flag = __pyx_kp_185; + goto __pyx_L8; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":110 + * flag = "SEND" + * else: + * flag = "RECV" # <<<<<<<<<<<<<< + * + * if conversation_cbs.has_key("write-im"): + */ + Py_INCREF(__pyx_kp_186); + Py_DECREF(__pyx_v_flag); + __pyx_v_flag = __pyx_kp_186; + } + __pyx_L8:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":112 + * flag = "RECV" + * + * if conversation_cbs.has_key("write-im"): # <<<<<<<<<<<<<< + * ( conversation_cbs["write-im"])(username, sender, \ + * sender_alias, message, flag) + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_187); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_187); + __pyx_5 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":113 + * + * if conversation_cbs.has_key("write-im"): + * ( conversation_cbs["write-im"])(username, sender, \ # <<<<<<<<<<<<<< + * sender_alias, message, flag) + * + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_188); if (!__pyx_2) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":114 + * if conversation_cbs.has_key("write-im"): + * ( conversation_cbs["write-im"])(username, sender, \ + * sender_alias, message, flag) # <<<<<<<<<<<<<< + * + * cdef void write_conv(conversation.PurpleConversation *conv, const_char *name, \ + */ + __pyx_5 = PyTuple_New(5); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_username); + PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_username); + Py_INCREF(__pyx_v_sender); + PyTuple_SET_ITEM(__pyx_5, 1, __pyx_v_sender); + Py_INCREF(__pyx_v_sender_alias); + PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_sender_alias); + Py_INCREF(__pyx_v_message); + PyTuple_SET_ITEM(__pyx_5, 3, __pyx_v_message); + Py_INCREF(__pyx_v_flag); + PyTuple_SET_ITEM(__pyx_5, 4, __pyx_v_flag); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L9; + } + __pyx_L9:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_5); + __Pyx_WriteUnraisable("purple.write_im"); + __pyx_L0:; + Py_DECREF(__pyx_v_username); + Py_DECREF(__pyx_v_sender); + Py_DECREF(__pyx_v_sender_alias); + Py_DECREF(__pyx_v_message); + Py_DECREF(__pyx_v_flag); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":116 + * sender_alias, message, flag) + * + * cdef void write_conv(conversation.PurpleConversation *conv, const_char *name, \ # <<<<<<<<<<<<<< + * const_char *alias, const_char *message, \ + * conversation.PurpleMessageFlags flags, time_t mtime): + */ + +static void __pyx_f_6purple_write_conv(PurpleConversation *__pyx_v_conv, const char *__pyx_v_name, const char *__pyx_v_alias, const char *__pyx_v_message, PurpleMessageFlags __pyx_v_flags, time_t __pyx_v_mtime) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":127 + * @see purple_conversation_write() + * """ + * debug.purple_debug_info("conversation", "%s", "write-conv\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("write-conv"): + * ( conversation_cbs["write-conv"])("write-conv: TODO") + */ + purple_debug_info(__pyx_k_189, __pyx_k_190, __pyx_k_191); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":128 + * """ + * debug.purple_debug_info("conversation", "%s", "write-conv\n") + * if conversation_cbs.has_key("write-conv"): # <<<<<<<<<<<<<< + * ( conversation_cbs["write-conv"])("write-conv: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_192); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_192); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":129 + * debug.purple_debug_info("conversation", "%s", "write-conv\n") + * if conversation_cbs.has_key("write-conv"): + * ( conversation_cbs["write-conv"])("write-conv: TODO") # <<<<<<<<<<<<<< + * + * cdef void chat_add_users(conversation.PurpleConversation *conv, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_193); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_194); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_194); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.write_conv"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":131 + * ( conversation_cbs["write-conv"])("write-conv: TODO") + * + * cdef void chat_add_users(conversation.PurpleConversation *conv, \ # <<<<<<<<<<<<<< + * glib.GList *cbuddies, glib.gboolean new_arrivals): + * """ + */ + +static void __pyx_f_6purple_chat_add_users(PurpleConversation *__pyx_v_conv, GList *__pyx_v_cbuddies, gboolean __pyx_v_new_arrivals) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":141 + * @see purple_conv_chat_add_users() + * """ + * debug.purple_debug_info("conversation", "%s", "chat-add-users\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("chat-add-users"): + * ( conversation_cbs["chat-add-users"])("chat-add-users: TODO") + */ + purple_debug_info(__pyx_k_195, __pyx_k_196, __pyx_k_197); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":142 + * """ + * debug.purple_debug_info("conversation", "%s", "chat-add-users\n") + * if conversation_cbs.has_key("chat-add-users"): # <<<<<<<<<<<<<< + * ( conversation_cbs["chat-add-users"])("chat-add-users: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_198); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_198); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":143 + * debug.purple_debug_info("conversation", "%s", "chat-add-users\n") + * if conversation_cbs.has_key("chat-add-users"): + * ( conversation_cbs["chat-add-users"])("chat-add-users: TODO") # <<<<<<<<<<<<<< + * + * cdef void chat_rename_user(conversation.PurpleConversation *conv, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_199); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_200); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_200); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.chat_add_users"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":145 + * ( conversation_cbs["chat-add-users"])("chat-add-users: TODO") + * + * cdef void chat_rename_user(conversation.PurpleConversation *conv, \ # <<<<<<<<<<<<<< + * const_char *old_name, const_char *new_name, + * const_char *new_alias): + */ + +static void __pyx_f_6purple_chat_rename_user(PurpleConversation *__pyx_v_conv, const char *__pyx_v_old_name, const char *__pyx_v_new_name, const char *__pyx_v_new_alias) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":154 + * @see purple_conv_chat_rename_user() + * """ + * debug.purple_debug_info("conversation", "%s", "chat-rename-user\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("chat-rename-user"): + * ( conversation_cbs["chat-rename-user"])("chat-rename-user: TODO") + */ + purple_debug_info(__pyx_k_201, __pyx_k_202, __pyx_k_203); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":155 + * """ + * debug.purple_debug_info("conversation", "%s", "chat-rename-user\n") + * if conversation_cbs.has_key("chat-rename-user"): # <<<<<<<<<<<<<< + * ( conversation_cbs["chat-rename-user"])("chat-rename-user: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_204); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_204); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":156 + * debug.purple_debug_info("conversation", "%s", "chat-rename-user\n") + * if conversation_cbs.has_key("chat-rename-user"): + * ( conversation_cbs["chat-rename-user"])("chat-rename-user: TODO") # <<<<<<<<<<<<<< + * + * cdef void chat_remove_users(conversation.PurpleConversation *conv, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_205); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_206); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_206); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.chat_rename_user"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":158 + * ( conversation_cbs["chat-rename-user"])("chat-rename-user: TODO") + * + * cdef void chat_remove_users(conversation.PurpleConversation *conv, \ # <<<<<<<<<<<<<< + * glib.GList *users): + * """ + */ + +static void __pyx_f_6purple_chat_remove_users(PurpleConversation *__pyx_v_conv, GList *__pyx_v_users) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":164 + * @param users A GList of const char *s. + * """ + * debug.purple_debug_info("conversation", "%s", "chat-remove-users\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("chat-remove-users"): + * ( conversation_cbs["chat-remove-users"])("chat-remove-users: TODO") + */ + purple_debug_info(__pyx_k_207, __pyx_k_208, __pyx_k_209); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":165 + * """ + * debug.purple_debug_info("conversation", "%s", "chat-remove-users\n") + * if conversation_cbs.has_key("chat-remove-users"): # <<<<<<<<<<<<<< + * ( conversation_cbs["chat-remove-users"])("chat-remove-users: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_210); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_210); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":166 + * debug.purple_debug_info("conversation", "%s", "chat-remove-users\n") + * if conversation_cbs.has_key("chat-remove-users"): + * ( conversation_cbs["chat-remove-users"])("chat-remove-users: TODO") # <<<<<<<<<<<<<< + * + * cdef void chat_update_user(conversation.PurpleConversation *conv, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_211); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_212); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_212); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.chat_remove_users"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":168 + * ( conversation_cbs["chat-remove-users"])("chat-remove-users: TODO") + * + * cdef void chat_update_user(conversation.PurpleConversation *conv, \ # <<<<<<<<<<<<<< + * const_char *user): + * """ + */ + +static void __pyx_f_6purple_chat_update_user(PurpleConversation *__pyx_v_conv, const char *__pyx_v_user) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":174 + * @see purple_conv_chat_user_set_flags() + * """ + * debug.purple_debug_info("conversation", "%s", "chat-update-user\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("chat-update-user"): + * ( conversation_cbs["chat-update-user"])("chat-update-user: TODO") + */ + purple_debug_info(__pyx_k_213, __pyx_k_214, __pyx_k_215); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":175 + * """ + * debug.purple_debug_info("conversation", "%s", "chat-update-user\n") + * if conversation_cbs.has_key("chat-update-user"): # <<<<<<<<<<<<<< + * ( conversation_cbs["chat-update-user"])("chat-update-user: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_216); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_216); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":176 + * debug.purple_debug_info("conversation", "%s", "chat-update-user\n") + * if conversation_cbs.has_key("chat-update-user"): + * ( conversation_cbs["chat-update-user"])("chat-update-user: TODO") # <<<<<<<<<<<<<< + * + * cdef void present(conversation.PurpleConversation *conv): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_217); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_218); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_218); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.chat_update_user"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":178 + * ( conversation_cbs["chat-update-user"])("chat-update-user: TODO") + * + * cdef void present(conversation.PurpleConversation *conv): # <<<<<<<<<<<<<< + * """ + * Present this conversation to the user; for example, by displaying the IM + */ + +static void __pyx_f_6purple_present(PurpleConversation *__pyx_v_conv) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":183 + * dialog. + * """ + * debug.purple_debug_info("conversation", "%s", "present\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("present"): + * ( conversation_cbs["present"])("present: TODO") + */ + purple_debug_info(__pyx_k_219, __pyx_k_220, __pyx_k_221); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":184 + * """ + * debug.purple_debug_info("conversation", "%s", "present\n") + * if conversation_cbs.has_key("present"): # <<<<<<<<<<<<<< + * ( conversation_cbs["present"])("present: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_222); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_222); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":185 + * debug.purple_debug_info("conversation", "%s", "present\n") + * if conversation_cbs.has_key("present"): + * ( conversation_cbs["present"])("present: TODO") # <<<<<<<<<<<<<< + * + * cdef glib.gboolean has_focus(conversation.PurpleConversation *conv): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_223); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_224); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_224); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.present"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":187 + * ( conversation_cbs["present"])("present: TODO") + * + * cdef glib.gboolean has_focus(conversation.PurpleConversation *conv): # <<<<<<<<<<<<<< + * """ + * If this UI has a concept of focus (as in a windowing system) and this + */ + +static gboolean __pyx_f_6purple_has_focus(PurpleConversation *__pyx_v_conv) { + gboolean __pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":192 + * conversation has the focus, return TRUE; otherwise, return FALSE. + * """ + * debug.purple_debug_info("conversation", "%s", "has-focus\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("has-focus"): + * ( conversation_cbs["has-focus"])("has-focus: TODO") + */ + purple_debug_info(__pyx_k_225, __pyx_k_226, __pyx_k_227); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":193 + * """ + * debug.purple_debug_info("conversation", "%s", "has-focus\n") + * if conversation_cbs.has_key("has-focus"): # <<<<<<<<<<<<<< + * ( conversation_cbs["has-focus"])("has-focus: TODO") + * return False + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_228); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_228); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":194 + * debug.purple_debug_info("conversation", "%s", "has-focus\n") + * if conversation_cbs.has_key("has-focus"): + * ( conversation_cbs["has-focus"])("has-focus: TODO") # <<<<<<<<<<<<<< + * return False + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_229); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_230); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_230); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":195 + * if conversation_cbs.has_key("has-focus"): + * ( conversation_cbs["has-focus"])("has-focus: TODO") + * return False # <<<<<<<<<<<<<< + * + * cdef glib.gboolean custom_smiley_add(conversation.PurpleConversation *conv, \ + */ + __pyx_r = 0; + goto __pyx_L0; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.has_focus"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":197 + * return False + * + * cdef glib.gboolean custom_smiley_add(conversation.PurpleConversation *conv, \ # <<<<<<<<<<<<<< + * const_char *smile, glib.gboolean remote): + * """ + */ + +static gboolean __pyx_f_6purple_custom_smiley_add(PurpleConversation *__pyx_v_conv, const char *__pyx_v_smile, gboolean __pyx_v_remote) { + gboolean __pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":202 + * Custom smileys (add). + * """ + * debug.purple_debug_info("conversation", "%s", "custom-smiley-add\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("custom-smiley-add"): + * ( conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO") + */ + purple_debug_info(__pyx_k_231, __pyx_k_232, __pyx_k_233); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":203 + * """ + * debug.purple_debug_info("conversation", "%s", "custom-smiley-add\n") + * if conversation_cbs.has_key("custom-smiley-add"): # <<<<<<<<<<<<<< + * ( conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO") + * return False + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_234); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_234); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":204 + * debug.purple_debug_info("conversation", "%s", "custom-smiley-add\n") + * if conversation_cbs.has_key("custom-smiley-add"): + * ( conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO") # <<<<<<<<<<<<<< + * return False + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_235); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_236); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_236); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":205 + * if conversation_cbs.has_key("custom-smiley-add"): + * ( conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO") + * return False # <<<<<<<<<<<<<< + * + * cdef void custom_smiley_write(conversation.PurpleConversation *conv, \ + */ + __pyx_r = 0; + goto __pyx_L0; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.custom_smiley_add"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":207 + * return False + * + * cdef void custom_smiley_write(conversation.PurpleConversation *conv, \ # <<<<<<<<<<<<<< + * const_char *smile, const_guchar *data, glib.gsize size): + * """ + */ + +static void __pyx_f_6purple_custom_smiley_write(PurpleConversation *__pyx_v_conv, const char *__pyx_v_smile, const guchar *__pyx_v_data, gsize __pyx_v_size) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":212 + * Custom smileys (write). + * """ + * debug.purple_debug_info("conversation", "%s", "custom-smiley-write\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("custom-smiley-write"): + * ( conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO") + */ + purple_debug_info(__pyx_k_237, __pyx_k_238, __pyx_k_239); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":213 + * """ + * debug.purple_debug_info("conversation", "%s", "custom-smiley-write\n") + * if conversation_cbs.has_key("custom-smiley-write"): # <<<<<<<<<<<<<< + * ( conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_240); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_240); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":214 + * debug.purple_debug_info("conversation", "%s", "custom-smiley-write\n") + * if conversation_cbs.has_key("custom-smiley-write"): + * ( conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO") # <<<<<<<<<<<<<< + * + * cdef void custom_smiley_close(conversation.PurpleConversation *conv, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_241); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_242); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_242); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.custom_smiley_write"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":216 + * ( conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO") + * + * cdef void custom_smiley_close(conversation.PurpleConversation *conv, \ # <<<<<<<<<<<<<< + * const_char *smile): + * """ + */ + +static void __pyx_f_6purple_custom_smiley_close(PurpleConversation *__pyx_v_conv, const char *__pyx_v_smile) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":221 + * Custom smileys (close). + * """ + * debug.purple_debug_info("conversation", "%s", "custom-smiley-close\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("custom-smiley-close"): + * ( conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO") + */ + purple_debug_info(__pyx_k_243, __pyx_k_244, __pyx_k_245); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":222 + * """ + * debug.purple_debug_info("conversation", "%s", "custom-smiley-close\n") + * if conversation_cbs.has_key("custom-smiley-close"): # <<<<<<<<<<<<<< + * ( conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_246); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_246); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":223 + * debug.purple_debug_info("conversation", "%s", "custom-smiley-close\n") + * if conversation_cbs.has_key("custom-smiley-close"): + * ( conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO") # <<<<<<<<<<<<<< + * + * cdef void send_confirm(conversation.PurpleConversation *conv, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_247); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_248); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_248); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.custom_smiley_close"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":225 + * ( conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO") + * + * cdef void send_confirm(conversation.PurpleConversation *conv, \ # <<<<<<<<<<<<<< + * const_char *message): + * """ + */ + +static void __pyx_f_6purple_send_confirm(PurpleConversation *__pyx_v_conv, const char *__pyx_v_message) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":232 + * is NULL, libpurple will fall back to using purple_request_action(). + * """ + * debug.purple_debug_info("conversation", "%s", "send-confirm\n") # <<<<<<<<<<<<<< + * if conversation_cbs.has_key("send-confirm"): + * ( conversation_cbs["send-confirm"])("send-confirm: TODO") + */ + purple_debug_info(__pyx_k_249, __pyx_k_250, __pyx_k_251); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":233 + * """ + * debug.purple_debug_info("conversation", "%s", "send-confirm\n") + * if conversation_cbs.has_key("send-confirm"): # <<<<<<<<<<<<<< + * ( conversation_cbs["send-confirm"])("send-confirm: TODO") + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_252); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_252); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":234 + * debug.purple_debug_info("conversation", "%s", "send-confirm\n") + * if conversation_cbs.has_key("send-confirm"): + * ( conversation_cbs["send-confirm"])("send-confirm: TODO") # <<<<<<<<<<<<<< + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_253); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_254); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_254); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.send_confirm"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":28 + * notify_cbs = {} + * + * cdef void *notify_message(notify.PurpleNotifyMsgType type, \ # <<<<<<<<<<<<<< + * const_char *title, const_char *primary, const_char *secondary): + * """ + */ + +static void *__pyx_f_6purple_notify_message(PurpleNotifyMsgType __pyx_v_type, const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":33 + * TODO + * """ + * debug.purple_debug_info("notify", "%s", "notify-message\n") # <<<<<<<<<<<<<< + * if notify_cbs.has_key("notif-message"): + * ( notify_cbs["notify-message"])("notify-message: TODO") + */ + purple_debug_info(__pyx_k_255, __pyx_k_256, __pyx_k_257); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":34 + * """ + * debug.purple_debug_info("notify", "%s", "notify-message\n") + * if notify_cbs.has_key("notif-message"): # <<<<<<<<<<<<<< + * ( notify_cbs["notify-message"])("notify-message: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_258); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_258); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":35 + * debug.purple_debug_info("notify", "%s", "notify-message\n") + * if notify_cbs.has_key("notif-message"): + * ( notify_cbs["notify-message"])("notify-message: TODO") # <<<<<<<<<<<<<< + * + * cdef void *notify_email(connection.PurpleConnection *gc, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_259); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_260); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_260); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.notify_message"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":37 + * ( notify_cbs["notify-message"])("notify-message: TODO") + * + * cdef void *notify_email(connection.PurpleConnection *gc, \ # <<<<<<<<<<<<<< + * const_char *subject, const_char *_from, const_char *to, \ + * const_char *url): + */ + +static void *__pyx_f_6purple_notify_email(PurpleConnection *__pyx_v_gc, const char *__pyx_v_subject, const char *__pyx_v__from, const char *__pyx_v_to, const char *__pyx_v_url) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":43 + * TODO + * """ + * debug.purple_debug_info("notify", "%s", "notify-email\n") # <<<<<<<<<<<<<< + * if notify_cbs.has_key("notify-email"): + * ( notify_cbs["notify-email"])("notify-email: TODO") + */ + purple_debug_info(__pyx_k_261, __pyx_k_262, __pyx_k_263); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":44 + * """ + * debug.purple_debug_info("notify", "%s", "notify-email\n") + * if notify_cbs.has_key("notify-email"): # <<<<<<<<<<<<<< + * ( notify_cbs["notify-email"])("notify-email: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_264); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_264); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":45 + * debug.purple_debug_info("notify", "%s", "notify-email\n") + * if notify_cbs.has_key("notify-email"): + * ( notify_cbs["notify-email"])("notify-email: TODO") # <<<<<<<<<<<<<< + * + * cdef void *notify_emails(connection.PurpleConnection *gc, size_t count, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_265); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_266); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_266); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.notify_email"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":47 + * ( notify_cbs["notify-email"])("notify-email: TODO") + * + * cdef void *notify_emails(connection.PurpleConnection *gc, size_t count, \ # <<<<<<<<<<<<<< + * glib.gboolean detailed, const_char **subjects, \ + * const_char **froms, const_char **tos, const_char **urls): + */ + +static void *__pyx_f_6purple_notify_emails(PurpleConnection *__pyx_v_gc, size_t __pyx_v_count, gboolean __pyx_v_detailed, const char **__pyx_v_subjects, const char **__pyx_v_froms, const char **__pyx_v_tos, const char **__pyx_v_urls) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":53 + * TODO + * """ + * debug.purple_debug_info("notify", "%s", "notify-emails\n") # <<<<<<<<<<<<<< + * if notify_cbs.has_key("notify-emails"): + * ( notify_cbs["notify-emails"])("notify-emails: TODO") + */ + purple_debug_info(__pyx_k_267, __pyx_k_268, __pyx_k_269); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":54 + * """ + * debug.purple_debug_info("notify", "%s", "notify-emails\n") + * if notify_cbs.has_key("notify-emails"): # <<<<<<<<<<<<<< + * ( notify_cbs["notify-emails"])("notify-emails: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_270); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_270); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":55 + * debug.purple_debug_info("notify", "%s", "notify-emails\n") + * if notify_cbs.has_key("notify-emails"): + * ( notify_cbs["notify-emails"])("notify-emails: TODO") # <<<<<<<<<<<<<< + * + * cdef void *notify_formatted(const_char *title, const_char *primary, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_271); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_272); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_272); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.notify_emails"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":57 + * ( notify_cbs["notify-emails"])("notify-emails: TODO") + * + * cdef void *notify_formatted(const_char *title, const_char *primary, \ # <<<<<<<<<<<<<< + * const_char *secondary, const_char *text): + * """ + */ + +static void *__pyx_f_6purple_notify_formatted(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, const char *__pyx_v_text) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":62 + * TODO + * """ + * debug.purple_debug_info("notify", "%s", "notify-formatted\n") # <<<<<<<<<<<<<< + * if notify_cbs.has_key("notify-formatted"): + * ( notify_cbs["notify-formatted"])("notify-formatted: TODO") + */ + purple_debug_info(__pyx_k_273, __pyx_k_274, __pyx_k_275); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":63 + * """ + * debug.purple_debug_info("notify", "%s", "notify-formatted\n") + * if notify_cbs.has_key("notify-formatted"): # <<<<<<<<<<<<<< + * ( notify_cbs["notify-formatted"])("notify-formatted: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_276); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_276); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":64 + * debug.purple_debug_info("notify", "%s", "notify-formatted\n") + * if notify_cbs.has_key("notify-formatted"): + * ( notify_cbs["notify-formatted"])("notify-formatted: TODO") # <<<<<<<<<<<<<< + * + * cdef void *notify_searchresults(connection.PurpleConnection *gc, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_277); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_278); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_278); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.notify_formatted"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":66 + * ( notify_cbs["notify-formatted"])("notify-formatted: TODO") + * + * cdef void *notify_searchresults(connection.PurpleConnection *gc, \ # <<<<<<<<<<<<<< + * const_char *title, const_char *primary, const_char *secondary, \ + * notify.PurpleNotifySearchResults *results, glib.gpointer user_data): + */ + +static void *__pyx_f_6purple_notify_searchresults(PurpleConnection *__pyx_v_gc, const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, PurpleNotifySearchResults *__pyx_v_results, gpointer __pyx_v_user_data) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":72 + * TODO + * """ + * debug.purple_debug_info("notify", "%s", "notify-searchresults\n") # <<<<<<<<<<<<<< + * if notify_cbs.has_key("notify-searchresults"): + * ( notify_cbs["notify-searchresults"])("notify-searchresults: TODO") + */ + purple_debug_info(__pyx_k_279, __pyx_k_280, __pyx_k_281); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":73 + * """ + * debug.purple_debug_info("notify", "%s", "notify-searchresults\n") + * if notify_cbs.has_key("notify-searchresults"): # <<<<<<<<<<<<<< + * ( notify_cbs["notify-searchresults"])("notify-searchresults: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_282); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_282); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":74 + * debug.purple_debug_info("notify", "%s", "notify-searchresults\n") + * if notify_cbs.has_key("notify-searchresults"): + * ( notify_cbs["notify-searchresults"])("notify-searchresults: TODO") # <<<<<<<<<<<<<< + * + * cdef void notify_searchresults_new_rows(connection.PurpleConnection *gc, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_283); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_284); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_284); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.notify_searchresults"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":76 + * ( notify_cbs["notify-searchresults"])("notify-searchresults: TODO") + * + * cdef void notify_searchresults_new_rows(connection.PurpleConnection *gc, \ # <<<<<<<<<<<<<< + * notify.PurpleNotifySearchResults *results, void *data): + * """ + */ + +static void __pyx_f_6purple_notify_searchresults_new_rows(PurpleConnection *__pyx_v_gc, PurpleNotifySearchResults *__pyx_v_results, void *__pyx_v_data) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":81 + * TODO + * """ + * debug.purple_debug_info("notify", "%s", "notify-searchresults-new-rows\n") # <<<<<<<<<<<<<< + * if notify_cbs.has_key("notify-searchresults-new-rows"): + * ( notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO") + */ + purple_debug_info(__pyx_k_285, __pyx_k_286, __pyx_k_287); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":82 + * """ + * debug.purple_debug_info("notify", "%s", "notify-searchresults-new-rows\n") + * if notify_cbs.has_key("notify-searchresults-new-rows"): # <<<<<<<<<<<<<< + * ( notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_288); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_288); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":83 + * debug.purple_debug_info("notify", "%s", "notify-searchresults-new-rows\n") + * if notify_cbs.has_key("notify-searchresults-new-rows"): + * ( notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO") # <<<<<<<<<<<<<< + * + * cdef void *notify_userinfo(connection.PurpleConnection *gc, const_char *who, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_289); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_290); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_290); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.notify_searchresults_new_rows"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":85 + * ( notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO") + * + * cdef void *notify_userinfo(connection.PurpleConnection *gc, const_char *who, \ # <<<<<<<<<<<<<< + * notify.PurpleNotifyUserInfo *user_info): + * """ + */ + +static void *__pyx_f_6purple_notify_userinfo(PurpleConnection *__pyx_v_gc, const char *__pyx_v_who, PurpleNotifyUserInfo *__pyx_v_user_info) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":90 + * TODO + * """ + * debug.purple_debug_info("notify", "%s", "notify-userinfo\n") # <<<<<<<<<<<<<< + * if notify_cbs.has_key("notify-userinfo"): + * ( notify_cbs["notify-userinfo"])("notify-userinfo: TODO") + */ + purple_debug_info(__pyx_k_291, __pyx_k_292, __pyx_k_293); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":91 + * """ + * debug.purple_debug_info("notify", "%s", "notify-userinfo\n") + * if notify_cbs.has_key("notify-userinfo"): # <<<<<<<<<<<<<< + * ( notify_cbs["notify-userinfo"])("notify-userinfo: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_294); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_294); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":92 + * debug.purple_debug_info("notify", "%s", "notify-userinfo\n") + * if notify_cbs.has_key("notify-userinfo"): + * ( notify_cbs["notify-userinfo"])("notify-userinfo: TODO") # <<<<<<<<<<<<<< + * + * cdef void *notify_uri(const_char *uri): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_295); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_296); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_296); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.notify_userinfo"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":94 + * ( notify_cbs["notify-userinfo"])("notify-userinfo: TODO") + * + * cdef void *notify_uri(const_char *uri): # <<<<<<<<<<<<<< + * """ + * TODO + */ + +static void *__pyx_f_6purple_notify_uri(const char *__pyx_v_uri) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":98 + * TODO + * """ + * debug.purple_debug_info("notify", "%s", "notify-uri\n") # <<<<<<<<<<<<<< + * if notify_cbs.has_key("notify-uri"): + * ( notify_cbs["notify-uri"])("notify-uri: TODO") + */ + purple_debug_info(__pyx_k_297, __pyx_k_298, __pyx_k_299); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":99 + * """ + * debug.purple_debug_info("notify", "%s", "notify-uri\n") + * if notify_cbs.has_key("notify-uri"): # <<<<<<<<<<<<<< + * ( notify_cbs["notify-uri"])("notify-uri: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_300); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_300); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":100 + * debug.purple_debug_info("notify", "%s", "notify-uri\n") + * if notify_cbs.has_key("notify-uri"): + * ( notify_cbs["notify-uri"])("notify-uri: TODO") # <<<<<<<<<<<<<< + * + * cdef void close_notify(notify.PurpleNotifyType type, void *ui_handle): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_301); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_302); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_302); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.notify_uri"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":102 + * ( notify_cbs["notify-uri"])("notify-uri: TODO") + * + * cdef void close_notify(notify.PurpleNotifyType type, void *ui_handle): # <<<<<<<<<<<<<< + * """ + * TODO + */ + +static void __pyx_f_6purple_close_notify(PurpleNotifyType __pyx_v_type, void *__pyx_v_ui_handle) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":106 + * TODO + * """ + * debug.purple_debug_info("notify", "%s", "close-notify\n") # <<<<<<<<<<<<<< + * if notify_cbs.has_key("close-notify"): + * ( notify_cbs["close-notify"])("close-notify: TODO") + */ + purple_debug_info(__pyx_k_303, __pyx_k_304, __pyx_k_305); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":107 + * """ + * debug.purple_debug_info("notify", "%s", "close-notify\n") + * if notify_cbs.has_key("close-notify"): # <<<<<<<<<<<<<< + * ( notify_cbs["close-notify"])("close-notify: TODO") + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_306); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_306); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":108 + * debug.purple_debug_info("notify", "%s", "close-notify\n") + * if notify_cbs.has_key("close-notify"): + * ( notify_cbs["close-notify"])("close-notify: TODO") # <<<<<<<<<<<<<< + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_307); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_308); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_308); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.close_notify"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":29 + * request_cbs = {} + * + * cdef void *request_input(const_char *title, const_char *primary, \ # <<<<<<<<<<<<<< + * const_char *secondary, const_char *default_value, \ + * glib.gboolean multiline, glib.gboolean masked, glib.gchar *hint, \ + */ + +static void *__pyx_f_6purple_request_input(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, const char *__pyx_v_default_value, gboolean __pyx_v_multiline, gboolean __pyx_v_masked, gchar *__pyx_v_hint, const char *__pyx_v_ok_text, GCallback __pyx_v_ok_cb, const char *__pyx_v_cancel_text, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":39 + * @see purple_request_input(). + * """ + * debug.purple_debug_info("request", "%s", "request-input\n") # <<<<<<<<<<<<<< + * if request_cbs.has_key("request-input"): + * ( request_cbs["request-input"])("request-input: TODO") + */ + purple_debug_info(__pyx_k_309, __pyx_k_310, __pyx_k_311); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":40 + * """ + * debug.purple_debug_info("request", "%s", "request-input\n") + * if request_cbs.has_key("request-input"): # <<<<<<<<<<<<<< + * ( request_cbs["request-input"])("request-input: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_312); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_312); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":41 + * debug.purple_debug_info("request", "%s", "request-input\n") + * if request_cbs.has_key("request-input"): + * ( request_cbs["request-input"])("request-input: TODO") # <<<<<<<<<<<<<< + * + * cdef void *request_choice(const_char *title, const_char *primary, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_313); if (!__pyx_1) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_314); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_314); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.request_input"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":43 + * ( request_cbs["request-input"])("request-input: TODO") + * + * cdef void *request_choice(const_char *title, const_char *primary, \ # <<<<<<<<<<<<<< + * const_char *secondary, int default_value, const_char *ok_text, \ + * glib.GCallback ok_cb, const_char *cancel_text, \ + */ + +static void *__pyx_f_6purple_request_choice(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, int __pyx_v_default_value, const char *__pyx_v_ok_text, GCallback __pyx_v_ok_cb, const char *__pyx_v_cancel_text, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data, va_list __pyx_v_choices) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":52 + * @see purple_request_choice_varg(). + * """ + * debug.purple_debug_info("request", "%s", "request-choice\n") # <<<<<<<<<<<<<< + * if request_cbs.has_key("request-choice"): + * ( request_cbs["request-choice"])("request-choice: TODO") + */ + purple_debug_info(__pyx_k_315, __pyx_k_316, __pyx_k_317); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":53 + * """ + * debug.purple_debug_info("request", "%s", "request-choice\n") + * if request_cbs.has_key("request-choice"): # <<<<<<<<<<<<<< + * ( request_cbs["request-choice"])("request-choice: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_318); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_318); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":54 + * debug.purple_debug_info("request", "%s", "request-choice\n") + * if request_cbs.has_key("request-choice"): + * ( request_cbs["request-choice"])("request-choice: TODO") # <<<<<<<<<<<<<< + * + * cdef void *request_action(const_char *title, const_char *primary, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_319); if (!__pyx_1) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_320); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_320); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.request_choice"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":56 + * ( request_cbs["request-choice"])("request-choice: TODO") + * + * cdef void *request_action(const_char *title, const_char *primary, \ # <<<<<<<<<<<<<< + * const_char *secondary, int default_action, \ + * account.PurpleAccount *account, const_char *who, \ + */ + +static void *__pyx_f_6purple_request_action(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, int __pyx_v_default_action, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data, size_t __pyx_v_action_count, va_list __pyx_v_actions) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":64 + * @see purple_request_action_varg(). + * """ + * debug.purple_debug_info("request", "%s", "request-action\n") # <<<<<<<<<<<<<< + * if request_cbs.has_key("request-action"): + * ( request_cbs["request-action"])("request-action: TODo") + */ + purple_debug_info(__pyx_k_321, __pyx_k_322, __pyx_k_323); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":65 + * """ + * debug.purple_debug_info("request", "%s", "request-action\n") + * if request_cbs.has_key("request-action"): # <<<<<<<<<<<<<< + * ( request_cbs["request-action"])("request-action: TODo") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_324); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_324); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":66 + * debug.purple_debug_info("request", "%s", "request-action\n") + * if request_cbs.has_key("request-action"): + * ( request_cbs["request-action"])("request-action: TODo") # <<<<<<<<<<<<<< + * + * cdef void *request_fields(const_char *title, const_char *primary, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_325); if (!__pyx_1) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_326); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_326); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.request_action"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":68 + * ( request_cbs["request-action"])("request-action: TODo") + * + * cdef void *request_fields(const_char *title, const_char *primary, \ # <<<<<<<<<<<<<< + * const_char *secondary, request.PurpleRequestFields *fields, \ + * const_char *ok_text, glib.GCallback ok_cb, const_char *cancel_text, \ + */ + +static void *__pyx_f_6purple_request_fields(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, PurpleRequestFields *__pyx_v_fields, const char *__pyx_v_ok_text, GCallback __pyx_v_ok_cb, const char *__pyx_v_cancel_text, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":77 + * @see purple_request_fields(). + * """ + * debug.purple_debug_info("request", "%s", "request-fields\n") # <<<<<<<<<<<<<< + * if request_cbs.has_key("request-fields"): + * ( request_cbs["request-fields"])("request-fields: TODO") + */ + purple_debug_info(__pyx_k_327, __pyx_k_328, __pyx_k_329); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":78 + * """ + * debug.purple_debug_info("request", "%s", "request-fields\n") + * if request_cbs.has_key("request-fields"): # <<<<<<<<<<<<<< + * ( request_cbs["request-fields"])("request-fields: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_330); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_330); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":79 + * debug.purple_debug_info("request", "%s", "request-fields\n") + * if request_cbs.has_key("request-fields"): + * ( request_cbs["request-fields"])("request-fields: TODO") # <<<<<<<<<<<<<< + * + * cdef void *request_file(const_char *title, const_char *filename, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_331); if (!__pyx_1) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_332); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_332); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.request_fields"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":81 + * ( request_cbs["request-fields"])("request-fields: TODO") + * + * cdef void *request_file(const_char *title, const_char *filename, \ # <<<<<<<<<<<<<< + * glib.gboolean savedialog, glib.GCallback ok_cb, \ + * glib.GCallback cancel_cb, account.PurpleAccount *account, \ + */ + +static void *__pyx_f_6purple_request_file(const char *__pyx_v_title, const char *__pyx_v_filename, gboolean __pyx_v_savedialog, GCallback __pyx_v_ok_cb, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":89 + * @see purple_request_file(). + * """ + * debug.purple_debug_info("request", "%s", "request-file\n") # <<<<<<<<<<<<<< + * if request_cbs.has_key("request-file"): + * ( request_cbs["request-file"])("request-file: TODO") + */ + purple_debug_info(__pyx_k_333, __pyx_k_334, __pyx_k_335); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":90 + * """ + * debug.purple_debug_info("request", "%s", "request-file\n") + * if request_cbs.has_key("request-file"): # <<<<<<<<<<<<<< + * ( request_cbs["request-file"])("request-file: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_336); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_336); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":91 + * debug.purple_debug_info("request", "%s", "request-file\n") + * if request_cbs.has_key("request-file"): + * ( request_cbs["request-file"])("request-file: TODO") # <<<<<<<<<<<<<< + * + * cdef void close_request(request.PurpleRequestType type, void *ui_handle): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_337); if (!__pyx_1) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_338); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_338); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.request_file"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":93 + * ( request_cbs["request-file"])("request-file: TODO") + * + * cdef void close_request(request.PurpleRequestType type, void *ui_handle): # <<<<<<<<<<<<<< + * """ + * TODO + */ + +static void __pyx_f_6purple_close_request(PurpleRequestType __pyx_v_type, void *__pyx_v_ui_handle) { + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":97 + * TODO + * """ + * debug.purple_debug_info("request", "%s", "close-request\n") # <<<<<<<<<<<<<< + * if request_cbs.has_key("close-request"): + * ( request_cbs["close-request"])("close-request: TODO") + */ + purple_debug_info(__pyx_k_339, __pyx_k_340, __pyx_k_341); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":98 + * """ + * debug.purple_debug_info("request", "%s", "close-request\n") + * if request_cbs.has_key("close-request"): # <<<<<<<<<<<<<< + * ( request_cbs["close-request"])("close-request: TODO") + * + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_342); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_342); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":99 + * debug.purple_debug_info("request", "%s", "close-request\n") + * if request_cbs.has_key("close-request"): + * ( request_cbs["close-request"])("close-request: TODO") # <<<<<<<<<<<<<< + * + * cdef void *request_folder(const_char *title, const_char *dirname, \ + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_343); if (!__pyx_1) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_344); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_344); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.close_request"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":101 + * ( request_cbs["close-request"])("close-request: TODO") + * + * cdef void *request_folder(const_char *title, const_char *dirname, \ # <<<<<<<<<<<<<< + * glib.GCallback ok_cb, glib.GCallback cancel_cb, \ + * account.PurpleAccount *account, const_char *who, \ + */ + +static void *__pyx_f_6purple_request_folder(const char *__pyx_v_title, const char *__pyx_v_dirname, GCallback __pyx_v_ok_cb, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) { + void *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":108 + * @see purple_request_folder(). + * """ + * debug.purple_debug_info("request", "%s", "request-folder\n") # <<<<<<<<<<<<<< + * if request_cbs.has_key("request-folder"): + * ( request_cbs["request-folder"])("request-folder: TODO") + */ + purple_debug_info(__pyx_k_345, __pyx_k_346, __pyx_k_347); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":109 + * """ + * debug.purple_debug_info("request", "%s", "request-folder\n") + * if request_cbs.has_key("request-folder"): # <<<<<<<<<<<<<< + * ( request_cbs["request-folder"])("request-folder: TODO") + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_348); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_348); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":110 + * debug.purple_debug_info("request", "%s", "request-folder\n") + * if request_cbs.has_key("request-folder"): + * ( request_cbs["request-folder"])("request-folder: TODO") # <<<<<<<<<<<<<< + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_349); if (!__pyx_1) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_350); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_350); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.request_folder"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":27 + * ctypedef char const_gchar "const gchar" + * + * cdef void signal_signed_on_cb(connection.PurpleConnection *gc, \ # <<<<<<<<<<<<<< + * glib.gpointer null): + * """ + */ + +static void __pyx_f_6purple_signal_signed_on_cb(PurpleConnection *__pyx_v_gc, gpointer __pyx_v_null) { + PurpleAccount *__pyx_v_acc; + char *__pyx_v_c_username; + char *__pyx_v_c_protocol_id; + PyObject *__pyx_v_username; + PyObject *__pyx_v_protocol_id; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_username = Py_None; Py_INCREF(Py_None); + __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":33 + * @params gc The connection that has signed on. + * """ + * cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc) # <<<<<<<<<<<<<< + * cdef char *c_username = NULL + * cdef char *c_protocol_id = NULL + */ + __pyx_v_acc = purple_connection_get_account(__pyx_v_gc); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":34 + * """ + * cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc) + * cdef char *c_username = NULL # <<<<<<<<<<<<<< + * cdef char *c_protocol_id = NULL + * + */ + __pyx_v_c_username = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":35 + * cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc) + * cdef char *c_username = NULL + * cdef char *c_protocol_id = NULL # <<<<<<<<<<<<<< + * + * c_username = account.purple_account_get_username(acc) + */ + __pyx_v_c_protocol_id = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":37 + * cdef char *c_protocol_id = NULL + * + * c_username = account.purple_account_get_username(acc) # <<<<<<<<<<<<<< + * if c_username == NULL: + * username = None + */ + __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":38 + * + * c_username = account.purple_account_get_username(acc) + * if c_username == NULL: # <<<<<<<<<<<<<< + * username = None + * else: + */ + __pyx_1 = (__pyx_v_c_username == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":39 + * c_username = account.purple_account_get_username(acc) + * if c_username == NULL: + * username = None # <<<<<<<<<<<<<< + * else: + * username = c_username + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_username); + __pyx_v_username = Py_None; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":41 + * username = None + * else: + * username = c_username # <<<<<<<<<<<<<< + * + * c_protocol_id = account.purple_account_get_protocol_id(acc) + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":43 + * username = c_username + * + * c_protocol_id = account.purple_account_get_protocol_id(acc) # <<<<<<<<<<<<<< + * if c_protocol_id == NULL: + * protocol_id = None + */ + __pyx_v_c_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":44 + * + * c_protocol_id = account.purple_account_get_protocol_id(acc) + * if c_protocol_id == NULL: # <<<<<<<<<<<<<< + * protocol_id = None + * else: + */ + __pyx_1 = (__pyx_v_c_protocol_id == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":45 + * c_protocol_id = account.purple_account_get_protocol_id(acc) + * if c_protocol_id == NULL: + * protocol_id = None # <<<<<<<<<<<<<< + * else: + * protocol_id = c_protocol_id + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = Py_None; + goto __pyx_L4; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":47 + * protocol_id = None + * else: + * protocol_id = c_protocol_id # <<<<<<<<<<<<<< + * + * if signal_cbs.has_key("signed-on"): + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_protocol_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = __pyx_2; + __pyx_2 = 0; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":49 + * protocol_id = c_protocol_id + * + * if signal_cbs.has_key("signed-on"): # <<<<<<<<<<<<<< + * ( signal_cbs["signed-on"])(username, protocol_id) + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_351); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_351); + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":50 + * + * if signal_cbs.has_key("signed-on"): + * ( signal_cbs["signed-on"])(username, protocol_id) # <<<<<<<<<<<<<< + * + * cdef void signal_signed_off_cb(connection.PurpleConnection *gc, \ + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_352); if (!__pyx_2) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_username); + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username); + Py_INCREF(__pyx_v_protocol_id); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L5; + } + __pyx_L5:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_WriteUnraisable("purple.signal_signed_on_cb"); + __pyx_L0:; + Py_DECREF(__pyx_v_username); + Py_DECREF(__pyx_v_protocol_id); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":52 + * ( signal_cbs["signed-on"])(username, protocol_id) + * + * cdef void signal_signed_off_cb(connection.PurpleConnection *gc, \ # <<<<<<<<<<<<<< + * glib.gpointer null): + * """ + */ + +static void __pyx_f_6purple_signal_signed_off_cb(PurpleConnection *__pyx_v_gc, gpointer __pyx_v_null) { + PurpleAccount *__pyx_v_acc; + char *__pyx_v_c_username; + char *__pyx_v_c_protocol_id; + PyObject *__pyx_v_username; + PyObject *__pyx_v_protocol_id; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_username = Py_None; Py_INCREF(Py_None); + __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":58 + * @params gc The connection that has signed off. + * """ + * cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc) # <<<<<<<<<<<<<< + * cdef char *c_username = NULL + * cdef char *c_protocol_id = NULL + */ + __pyx_v_acc = purple_connection_get_account(__pyx_v_gc); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":59 + * """ + * cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc) + * cdef char *c_username = NULL # <<<<<<<<<<<<<< + * cdef char *c_protocol_id = NULL + * + */ + __pyx_v_c_username = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":60 + * cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc) + * cdef char *c_username = NULL + * cdef char *c_protocol_id = NULL # <<<<<<<<<<<<<< + * + * c_username = account.purple_account_get_username(acc) + */ + __pyx_v_c_protocol_id = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":62 + * cdef char *c_protocol_id = NULL + * + * c_username = account.purple_account_get_username(acc) # <<<<<<<<<<<<<< + * if c_username == NULL: + * username = None + */ + __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":63 + * + * c_username = account.purple_account_get_username(acc) + * if c_username == NULL: # <<<<<<<<<<<<<< + * username = None + * else: + */ + __pyx_1 = (__pyx_v_c_username == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":64 + * c_username = account.purple_account_get_username(acc) + * if c_username == NULL: + * username = None # <<<<<<<<<<<<<< + * else: + * username = c_username + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_username); + __pyx_v_username = Py_None; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":66 + * username = None + * else: + * username = c_username # <<<<<<<<<<<<<< + * + * c_protocol_id = account.purple_account_get_protocol_id(acc) + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":68 + * username = c_username + * + * c_protocol_id = account.purple_account_get_protocol_id(acc) # <<<<<<<<<<<<<< + * if c_protocol_id == NULL: + * protocol_id = None + */ + __pyx_v_c_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":69 + * + * c_protocol_id = account.purple_account_get_protocol_id(acc) + * if c_protocol_id == NULL: # <<<<<<<<<<<<<< + * protocol_id = None + * else: + */ + __pyx_1 = (__pyx_v_c_protocol_id == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":70 + * c_protocol_id = account.purple_account_get_protocol_id(acc) + * if c_protocol_id == NULL: + * protocol_id = None # <<<<<<<<<<<<<< + * else: + * protocol_id = c_protocol_id + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = Py_None; + goto __pyx_L4; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":72 + * protocol_id = None + * else: + * protocol_id = c_protocol_id # <<<<<<<<<<<<<< + * + * if signal_cbs.has_key("signed-off"): + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_protocol_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = __pyx_2; + __pyx_2 = 0; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":74 + * protocol_id = c_protocol_id + * + * if signal_cbs.has_key("signed-off"): # <<<<<<<<<<<<<< + * ( signal_cbs["signed-off"])(username, protocol_id) + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_353); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_353); + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":75 + * + * if signal_cbs.has_key("signed-off"): + * ( signal_cbs["signed-off"])(username, protocol_id) # <<<<<<<<<<<<<< + * + * cdef void signal_connection_error_cb(connection.PurpleConnection *gc, \ + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_354); if (!__pyx_2) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_username); + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username); + Py_INCREF(__pyx_v_protocol_id); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L5; + } + __pyx_L5:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_WriteUnraisable("purple.signal_signed_off_cb"); + __pyx_L0:; + Py_DECREF(__pyx_v_username); + Py_DECREF(__pyx_v_protocol_id); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":77 + * ( signal_cbs["signed-off"])(username, protocol_id) + * + * cdef void signal_connection_error_cb(connection.PurpleConnection *gc, \ # <<<<<<<<<<<<<< + * connection.PurpleConnectionError err, const_gchar *c_desc): + * """ + */ + +static void __pyx_f_6purple_signal_connection_error_cb(PurpleConnection *__pyx_v_gc, PurpleConnectionError __pyx_v_err, const gchar *__pyx_v_c_desc) { + PurpleAccount *__pyx_v_acc; + char *__pyx_v_c_username; + char *__pyx_v_c_protocol_id; + PyObject *__pyx_v_username; + PyObject *__pyx_v_protocol_id; + PyObject *__pyx_v_short_desc; + PyObject *__pyx_v_desc; + int __pyx_1; + PyObject *__pyx_2 = 0; + int __pyx_3; + PyObject *__pyx_4 = 0; + PyObject *__pyx_5 = 0; + __pyx_v_username = Py_None; Py_INCREF(Py_None); + __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None); + __pyx_v_short_desc = Py_None; Py_INCREF(Py_None); + __pyx_v_desc = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":85 + * @params desc A description of the error, giving more information + * """ + * cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc) # <<<<<<<<<<<<<< + * cdef char *c_username = NULL + * cdef char *c_protocol_id = NULL + */ + __pyx_v_acc = purple_connection_get_account(__pyx_v_gc); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":86 + * """ + * cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc) + * cdef char *c_username = NULL # <<<<<<<<<<<<<< + * cdef char *c_protocol_id = NULL + * + */ + __pyx_v_c_username = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":87 + * cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc) + * cdef char *c_username = NULL + * cdef char *c_protocol_id = NULL # <<<<<<<<<<<<<< + * + * c_username = account.purple_account_get_username(acc) + */ + __pyx_v_c_protocol_id = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":89 + * cdef char *c_protocol_id = NULL + * + * c_username = account.purple_account_get_username(acc) # <<<<<<<<<<<<<< + * if c_username: + * username = c_username + */ + __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":90 + * + * c_username = account.purple_account_get_username(acc) + * if c_username: # <<<<<<<<<<<<<< + * username = c_username + * else: + */ + __pyx_1 = (__pyx_v_c_username != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":91 + * c_username = account.purple_account_get_username(acc) + * if c_username: + * username = c_username # <<<<<<<<<<<<<< + * else: + * username = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_username)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_2; + __pyx_2 = 0; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":93 + * username = c_username + * else: + * username = None # <<<<<<<<<<<<<< + * + * c_protocol_id = account.purple_account_get_protocol_id(acc) + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_username); + __pyx_v_username = Py_None; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":95 + * username = None + * + * c_protocol_id = account.purple_account_get_protocol_id(acc) # <<<<<<<<<<<<<< + * if c_protocol_id: + * protocol_id = c_protocol_id + */ + __pyx_v_c_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":96 + * + * c_protocol_id = account.purple_account_get_protocol_id(acc) + * if c_protocol_id: # <<<<<<<<<<<<<< + * protocol_id = c_protocol_id + * else: + */ + __pyx_1 = (__pyx_v_c_protocol_id != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":97 + * c_protocol_id = account.purple_account_get_protocol_id(acc) + * if c_protocol_id: + * protocol_id = c_protocol_id # <<<<<<<<<<<<<< + * else: + * protocol_id = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_protocol_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = __pyx_2; + __pyx_2 = 0; + goto __pyx_L4; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":99 + * protocol_id = c_protocol_id + * else: + * protocol_id = None # <<<<<<<<<<<<<< + * + * short_desc = { + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_protocol_id); + __pyx_v_protocol_id = Py_None; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":118 + * 14: "SSL certificate self signed", + * 15: "SSL certificate other error", + * 16: "Other error" }[ err] # <<<<<<<<<<<<<< + * + * if c_desc: + */ + __pyx_2 = PyDict_New(); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":102 + * + * short_desc = { + * 0: "Network error", # <<<<<<<<<<<<<< + * 1: "Invalid username", + * 2: "Authentication failed", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_0, __pyx_kp_355) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":103 + * short_desc = { + * 0: "Network error", + * 1: "Invalid username", # <<<<<<<<<<<<<< + * 2: "Authentication failed", + * 3: "Authentication impossible", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_1, __pyx_kp_356) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":104 + * 0: "Network error", + * 1: "Invalid username", + * 2: "Authentication failed", # <<<<<<<<<<<<<< + * 3: "Authentication impossible", + * 4: "No SSL support", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_2, __pyx_kp_357) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":105 + * 1: "Invalid username", + * 2: "Authentication failed", + * 3: "Authentication impossible", # <<<<<<<<<<<<<< + * 4: "No SSL support", + * 5: "Encryption error", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_3, __pyx_kp_358) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":106 + * 2: "Authentication failed", + * 3: "Authentication impossible", + * 4: "No SSL support", # <<<<<<<<<<<<<< + * 5: "Encryption error", + * 6: "Name in use", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_4, __pyx_kp_359) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":107 + * 3: "Authentication impossible", + * 4: "No SSL support", + * 5: "Encryption error", # <<<<<<<<<<<<<< + * 6: "Name in use", + * 7: "Invalid settings", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_5, __pyx_kp_360) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":108 + * 4: "No SSL support", + * 5: "Encryption error", + * 6: "Name in use", # <<<<<<<<<<<<<< + * 7: "Invalid settings", + * 8: "SSL certificate not provided", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_6, __pyx_kp_361) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":109 + * 5: "Encryption error", + * 6: "Name in use", + * 7: "Invalid settings", # <<<<<<<<<<<<<< + * 8: "SSL certificate not provided", + * 9: "SSL certificate untrusted", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_7, __pyx_kp_362) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":110 + * 6: "Name in use", + * 7: "Invalid settings", + * 8: "SSL certificate not provided", # <<<<<<<<<<<<<< + * 9: "SSL certificate untrusted", + * 10: "SSL certificate expired", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_8, __pyx_kp_363) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":111 + * 7: "Invalid settings", + * 8: "SSL certificate not provided", + * 9: "SSL certificate untrusted", # <<<<<<<<<<<<<< + * 10: "SSL certificate expired", + * 11: "SSL certificate not activated", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_9, __pyx_kp_364) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":112 + * 8: "SSL certificate not provided", + * 9: "SSL certificate untrusted", + * 10: "SSL certificate expired", # <<<<<<<<<<<<<< + * 11: "SSL certificate not activated", + * 12: "SSL certificate hostname mismatch", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_10, __pyx_kp_365) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":113 + * 9: "SSL certificate untrusted", + * 10: "SSL certificate expired", + * 11: "SSL certificate not activated", # <<<<<<<<<<<<<< + * 12: "SSL certificate hostname mismatch", + * 13: "SSL certificate fingerprint mismatch", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_11, __pyx_kp_366) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":114 + * 10: "SSL certificate expired", + * 11: "SSL certificate not activated", + * 12: "SSL certificate hostname mismatch", # <<<<<<<<<<<<<< + * 13: "SSL certificate fingerprint mismatch", + * 14: "SSL certificate self signed", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_12, __pyx_kp_367) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":115 + * 11: "SSL certificate not activated", + * 12: "SSL certificate hostname mismatch", + * 13: "SSL certificate fingerprint mismatch", # <<<<<<<<<<<<<< + * 14: "SSL certificate self signed", + * 15: "SSL certificate other error", + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_13, __pyx_kp_368) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":116 + * 12: "SSL certificate hostname mismatch", + * 13: "SSL certificate fingerprint mismatch", + * 14: "SSL certificate self signed", # <<<<<<<<<<<<<< + * 15: "SSL certificate other error", + * 16: "Other error" }[ err] + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_14, __pyx_kp_369) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":117 + * 13: "SSL certificate fingerprint mismatch", + * 14: "SSL certificate self signed", + * 15: "SSL certificate other error", # <<<<<<<<<<<<<< + * 16: "Other error" }[ err] + * + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_15, __pyx_kp_370) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":118 + * 14: "SSL certificate self signed", + * 15: "SSL certificate other error", + * 16: "Other error" }[ err] # <<<<<<<<<<<<<< + * + * if c_desc: + */ + if (PyDict_SetItem(__pyx_2, __pyx_int_16, __pyx_kp_371) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = ((int)__pyx_v_err); + __pyx_4 = __Pyx_GetItemInt(((PyObject *)__pyx_2), __pyx_3, 0); if (!__pyx_4) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + Py_DECREF(__pyx_v_short_desc); + __pyx_v_short_desc = __pyx_4; + __pyx_4 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":120 + * 16: "Other error" }[ err] + * + * if c_desc: # <<<<<<<<<<<<<< + * desc = str( c_desc) + * else: + */ + __pyx_1 = (__pyx_v_c_desc != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":121 + * + * if c_desc: + * desc = str( c_desc) # <<<<<<<<<<<<<< + * else: + * desc = None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_desc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_v_desc); + __pyx_v_desc = __pyx_2; + __pyx_2 = 0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":123 + * desc = str( c_desc) + * else: + * desc = None # <<<<<<<<<<<<<< + * + * if signal_cbs.has_key("connection-error"): + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_desc); + __pyx_v_desc = Py_None; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":125 + * desc = None + * + * if signal_cbs.has_key("connection-error"): # <<<<<<<<<<<<<< + * ( signal_cbs["connection-error"])(username, protocol_id, \ + * short_desc, desc) + */ + __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_4, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_372); + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_kp_372); + __pyx_5 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":126 + * + * if signal_cbs.has_key("connection-error"): + * ( signal_cbs["connection-error"])(username, protocol_id, \ # <<<<<<<<<<<<<< + * short_desc, desc) + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyObject_GetItem(__pyx_2, __pyx_kp_373); if (!__pyx_4) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":127 + * if signal_cbs.has_key("connection-error"): + * ( signal_cbs["connection-error"])(username, protocol_id, \ + * short_desc, desc) # <<<<<<<<<<<<<< + * + * cdef void signal_buddy_signed_on_cb(blist.PurpleBuddy *buddy): + */ + __pyx_5 = PyTuple_New(4); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_username); + PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_username); + Py_INCREF(__pyx_v_protocol_id); + PyTuple_SET_ITEM(__pyx_5, 1, __pyx_v_protocol_id); + Py_INCREF(__pyx_v_short_desc); + PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_short_desc); + Py_INCREF(__pyx_v_desc); + PyTuple_SET_ITEM(__pyx_5, 3, __pyx_v_desc); + __pyx_2 = PyObject_Call(__pyx_4, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L6; + } + __pyx_L6:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_4); + Py_XDECREF(__pyx_5); + __Pyx_WriteUnraisable("purple.signal_connection_error_cb"); + __pyx_L0:; + Py_DECREF(__pyx_v_username); + Py_DECREF(__pyx_v_protocol_id); + Py_DECREF(__pyx_v_short_desc); + Py_DECREF(__pyx_v_desc); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":129 + * short_desc, desc) + * + * cdef void signal_buddy_signed_on_cb(blist.PurpleBuddy *buddy): # <<<<<<<<<<<<<< + * """ + * Emitted when a buddy on your buddy list signs on. + */ + +static void __pyx_f_6purple_signal_buddy_signed_on_cb(PurpleBuddy *__pyx_v_buddy) { + char *__pyx_v_c_name; + char *__pyx_v_c_alias; + PyObject *__pyx_v_name; + PyObject *__pyx_v_alias; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_name = Py_None; Py_INCREF(Py_None); + __pyx_v_alias = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":134 + * @params buddy The buddy that signed on. + * """ + * cdef char *c_name = NULL # <<<<<<<<<<<<<< + * cdef char *c_alias = NULL + * + */ + __pyx_v_c_name = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":135 + * """ + * cdef char *c_name = NULL + * cdef char *c_alias = NULL # <<<<<<<<<<<<<< + * + * c_name = blist.purple_buddy_get_name(buddy) + */ + __pyx_v_c_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":137 + * cdef char *c_alias = NULL + * + * c_name = blist.purple_buddy_get_name(buddy) # <<<<<<<<<<<<<< + * if c_name == NULL: + * name = None + */ + __pyx_v_c_name = ((char *)purple_buddy_get_name(__pyx_v_buddy)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":138 + * + * c_name = blist.purple_buddy_get_name(buddy) + * if c_name == NULL: # <<<<<<<<<<<<<< + * name = None + * else: + */ + __pyx_1 = (__pyx_v_c_name == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":139 + * c_name = blist.purple_buddy_get_name(buddy) + * if c_name == NULL: + * name = None # <<<<<<<<<<<<<< + * else: + * name = c_name + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_name); + __pyx_v_name = Py_None; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":141 + * name = None + * else: + * name = c_name # <<<<<<<<<<<<<< + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_name); + __pyx_v_name = __pyx_2; + __pyx_2 = 0; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":143 + * name = c_name + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) # <<<<<<<<<<<<<< + * if c_alias == NULL: + * alias = None + */ + __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":144 + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) + * if c_alias == NULL: # <<<<<<<<<<<<<< + * alias = None + * else: + */ + __pyx_1 = (__pyx_v_c_alias == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":145 + * c_alias = blist.purple_buddy_get_alias_only(buddy) + * if c_alias == NULL: + * alias = None # <<<<<<<<<<<<<< + * else: + * alias = c_alias + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_alias); + __pyx_v_alias = Py_None; + goto __pyx_L4; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":147 + * alias = None + * else: + * alias = c_alias # <<<<<<<<<<<<<< + * + * if signal_cbs.has_key("buddy-signed-on"): + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_alias); + __pyx_v_alias = __pyx_2; + __pyx_2 = 0; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":149 + * alias = c_alias + * + * if signal_cbs.has_key("buddy-signed-on"): # <<<<<<<<<<<<<< + * ( signal_cbs["buddy-signed-on"])(name, alias) + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_374); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_374); + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":150 + * + * if signal_cbs.has_key("buddy-signed-on"): + * ( signal_cbs["buddy-signed-on"])(name, alias) # <<<<<<<<<<<<<< + * + * cdef void signal_buddy_signed_off_cb(blist.PurpleBuddy *buddy): + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_375); if (!__pyx_2) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_name); + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_name); + Py_INCREF(__pyx_v_alias); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_alias); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L5; + } + __pyx_L5:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_WriteUnraisable("purple.signal_buddy_signed_on_cb"); + __pyx_L0:; + Py_DECREF(__pyx_v_name); + Py_DECREF(__pyx_v_alias); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":152 + * ( signal_cbs["buddy-signed-on"])(name, alias) + * + * cdef void signal_buddy_signed_off_cb(blist.PurpleBuddy *buddy): # <<<<<<<<<<<<<< + * """ + * Emitted when a buddy on your buddy list signs off. + */ + +static void __pyx_f_6purple_signal_buddy_signed_off_cb(PurpleBuddy *__pyx_v_buddy) { + char *__pyx_v_c_name; + char *__pyx_v_c_alias; + PyObject *__pyx_v_name; + PyObject *__pyx_v_alias; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_name = Py_None; Py_INCREF(Py_None); + __pyx_v_alias = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":157 + * @params buddy The buddy that signed off. + * """ + * cdef char *c_name = NULL # <<<<<<<<<<<<<< + * cdef char *c_alias = NULL + * + */ + __pyx_v_c_name = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":158 + * """ + * cdef char *c_name = NULL + * cdef char *c_alias = NULL # <<<<<<<<<<<<<< + * + * c_name = blist.purple_buddy_get_name(buddy) + */ + __pyx_v_c_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":160 + * cdef char *c_alias = NULL + * + * c_name = blist.purple_buddy_get_name(buddy) # <<<<<<<<<<<<<< + * if c_name == NULL: + * name = None + */ + __pyx_v_c_name = ((char *)purple_buddy_get_name(__pyx_v_buddy)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":161 + * + * c_name = blist.purple_buddy_get_name(buddy) + * if c_name == NULL: # <<<<<<<<<<<<<< + * name = None + * else: + */ + __pyx_1 = (__pyx_v_c_name == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":162 + * c_name = blist.purple_buddy_get_name(buddy) + * if c_name == NULL: + * name = None # <<<<<<<<<<<<<< + * else: + * name = c_name + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_name); + __pyx_v_name = Py_None; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":164 + * name = None + * else: + * name = c_name # <<<<<<<<<<<<<< + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_name); + __pyx_v_name = __pyx_2; + __pyx_2 = 0; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":166 + * name = c_name + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) # <<<<<<<<<<<<<< + * if c_alias == NULL: + * alias = None + */ + __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":167 + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) + * if c_alias == NULL: # <<<<<<<<<<<<<< + * alias = None + * else: + */ + __pyx_1 = (__pyx_v_c_alias == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":168 + * c_alias = blist.purple_buddy_get_alias_only(buddy) + * if c_alias == NULL: + * alias = None # <<<<<<<<<<<<<< + * else: + * alias = c_alias + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_alias); + __pyx_v_alias = Py_None; + goto __pyx_L4; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":170 + * alias = None + * else: + * alias = c_alias # <<<<<<<<<<<<<< + * + * if signal_cbs.has_key("buddy-signed-off"): + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_alias); + __pyx_v_alias = __pyx_2; + __pyx_2 = 0; + } + __pyx_L4:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":172 + * alias = c_alias + * + * if signal_cbs.has_key("buddy-signed-off"): # <<<<<<<<<<<<<< + * ( signal_cbs["buddy-signed-off"])(name, alias) + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_376); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_376); + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":173 + * + * if signal_cbs.has_key("buddy-signed-off"): + * ( signal_cbs["buddy-signed-off"])(name, alias) # <<<<<<<<<<<<<< + * + * cdef glib.gboolean signal_receiving_im_msg_cb(account.PurpleAccount *account, \ + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_377); if (!__pyx_2) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_name); + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_name); + Py_INCREF(__pyx_v_alias); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_alias); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L5; + } + __pyx_L5:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_WriteUnraisable("purple.signal_buddy_signed_off_cb"); + __pyx_L0:; + Py_DECREF(__pyx_v_name); + Py_DECREF(__pyx_v_alias); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":175 + * ( signal_cbs["buddy-signed-off"])(name, alias) + * + * cdef glib.gboolean signal_receiving_im_msg_cb(account.PurpleAccount *account, \ # <<<<<<<<<<<<<< + * char **sender, char **message, conversation.PurpleConversation *conv, \ + * conversation.PurpleMessageFlags *flags): + */ + +static gboolean __pyx_f_6purple_signal_receiving_im_msg_cb(PurpleAccount *__pyx_v_account, char **__pyx_v_sender, char **__pyx_v_message, PurpleConversation *__pyx_v_conv, PurpleMessageFlags *__pyx_v_flags) { + PurpleBuddy *__pyx_v_buddy; + char *__pyx_v_c_alias; + PyObject *__pyx_v_alias; + PyObject *__pyx_v_stripped; + gboolean __pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + gboolean __pyx_5; + __pyx_v_alias = Py_None; Py_INCREF(Py_None); + __pyx_v_stripped = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":190 + * @params flags A pointer to the IM message flags. + * """ + * cdef blist.PurpleBuddy *buddy = blist.purple_find_buddy(account, sender[0]) # <<<<<<<<<<<<<< + * cdef char *c_alias = NULL + * + */ + __pyx_v_buddy = purple_find_buddy(__pyx_v_account, (__pyx_v_sender[0])); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":191 + * """ + * cdef blist.PurpleBuddy *buddy = blist.purple_find_buddy(account, sender[0]) + * cdef char *c_alias = NULL # <<<<<<<<<<<<<< + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) + */ + __pyx_v_c_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":193 + * cdef char *c_alias = NULL + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) # <<<<<<<<<<<<<< + * if c_alias == NULL: + * alias = None + */ + __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":194 + * + * c_alias = blist.purple_buddy_get_alias_only(buddy) + * if c_alias == NULL: # <<<<<<<<<<<<<< + * alias = None + * else: + */ + __pyx_1 = (__pyx_v_c_alias == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":195 + * c_alias = blist.purple_buddy_get_alias_only(buddy) + * if c_alias == NULL: + * alias = None # <<<<<<<<<<<<<< + * else: + * alias = c_alias + */ + Py_INCREF(Py_None); + Py_DECREF(__pyx_v_alias); + __pyx_v_alias = Py_None; + goto __pyx_L3; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":197 + * alias = None + * else: + * alias = c_alias # <<<<<<<<<<<<<< + * + * stripped = util.purple_markup_strip_html(message[0]) + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_alias); + __pyx_v_alias = __pyx_2; + __pyx_2 = 0; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":199 + * alias = c_alias + * + * stripped = util.purple_markup_strip_html(message[0]) # <<<<<<<<<<<<<< + * + * if signal_cbs.has_key("receiving-im-msg"): + */ + __pyx_2 = __Pyx_PyBytes_FromString(purple_markup_strip_html((__pyx_v_message[0]))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_stripped); + __pyx_v_stripped = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":201 + * stripped = util.purple_markup_strip_html(message[0]) + * + * if signal_cbs.has_key("receiving-im-msg"): # <<<<<<<<<<<<<< + * return ( signal_cbs["receiving-im-msg"])(sender[0], alias, stripped) + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_378); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_378); + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":202 + * + * if signal_cbs.has_key("receiving-im-msg"): + * return ( signal_cbs["receiving-im-msg"])(sender[0], alias, stripped) # <<<<<<<<<<<<<< + * + * cdef void jabber_receiving_xmlnode_cb(connection.PurpleConnection *gc, \ + */ + __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_379); if (!__pyx_2) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_4 = __Pyx_PyBytes_FromString((__pyx_v_sender[0])); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(3); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4); + Py_INCREF(__pyx_v_alias); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_alias); + Py_INCREF(__pyx_v_stripped); + PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_stripped); + __pyx_4 = 0; + __pyx_4 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + __pyx_5 = __pyx_PyInt_int(__pyx_4); if (unlikely((__pyx_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + __pyx_r = __pyx_5; + goto __pyx_L0; + goto __pyx_L4; + } + __pyx_L4:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_WriteUnraisable("purple.signal_receiving_im_msg_cb"); + __pyx_r = 0; + __pyx_L0:; + Py_DECREF(__pyx_v_alias); + Py_DECREF(__pyx_v_stripped); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":204 + * return ( signal_cbs["receiving-im-msg"])(sender[0], alias, stripped) + * + * cdef void jabber_receiving_xmlnode_cb(connection.PurpleConnection *gc, \ # <<<<<<<<<<<<<< + * xmlnode.xmlnode **packet, glib.gpointer null): + * """ + */ + +static void __pyx_f_6purple_jabber_receiving_xmlnode_cb(PurpleConnection *__pyx_v_gc, xmlnode **__pyx_v_packet, gpointer __pyx_v_null) { + PyObject *__pyx_v_message; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + int __pyx_4; + __pyx_v_message = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":209 + * Emitted when jabber receives a XML node. + * """ + * message = xmlnode.xmlnode_to_str(packet[0], NULL) # <<<<<<<<<<<<<< + * + * if signal_cbs.has_key("jabber-receiving-xmlnode"): + */ + __pyx_1 = __Pyx_PyBytes_FromString(xmlnode_to_str((__pyx_v_packet[0]), NULL)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_message); + __pyx_v_message = __pyx_1; + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":211 + * message = xmlnode.xmlnode_to_str(packet[0], NULL) + * + * if signal_cbs.has_key("jabber-receiving-xmlnode"): # <<<<<<<<<<<<<< + * ( signal_cbs["jabber-receiving-xmlnode"])(message) + */ + __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_380); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_380); + __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":212 + * + * if signal_cbs.has_key("jabber-receiving-xmlnode"): + * ( signal_cbs["jabber-receiving-xmlnode"])(message) # <<<<<<<<<<<<<< + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_381); if (!__pyx_1) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_message); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_message); + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.jabber_receiving_xmlnode_cb"); + __pyx_L0:; + Py_DECREF(__pyx_v_message); +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/util.pxd":22 + * cimport purple + * + * def markup_strip_html(message): # <<<<<<<<<<<<<< + * if message is None: + * return None + */ + +static PyObject *__pyx_pf_6purple_markup_strip_html(PyObject *__pyx_self, PyObject *__pyx_v_message); /*proto*/ +static PyObject *__pyx_pf_6purple_markup_strip_html(PyObject *__pyx_self, PyObject *__pyx_v_message) { + PyObject *__pyx_r; + int __pyx_1; + char *__pyx_2; + PyObject *__pyx_3 = 0; + __pyx_self = __pyx_self; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/util.pxd":23 + * + * def markup_strip_html(message): + * if message is None: # <<<<<<<<<<<<<< + * return None + * else: + */ + __pyx_1 = (__pyx_v_message == Py_None); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/util.pxd":24 + * def markup_strip_html(message): + * if message is None: + * return None # <<<<<<<<<<<<<< + * else: + * return util.purple_markup_strip_html(message) + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/util.pxd":26 + * return None + * else: + * return util.purple_markup_strip_html(message) # <<<<<<<<<<<<<< + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_message); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_FromString(purple_markup_strip_html(__pyx_2)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + __Pyx_AddTraceback("purple.markup_strip_html"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":68 + * """ + * + * def __init__(self, ui_name, ui_version, ui_website, ui_dev_website, \ # <<<<<<<<<<<<<< + * debug_enabled=None, default_path=None): + * + */ + +static int __pyx_pf_6purple_6Purple___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pf_6purple_6Purple___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_ui_name = 0; + PyObject *__pyx_v_ui_version = 0; + PyObject *__pyx_v_ui_website = 0; + PyObject *__pyx_v_ui_dev_website = 0; + PyObject *__pyx_v_debug_enabled = 0; + PyObject *__pyx_v_default_path = 0; + int __pyx_r; + char *__pyx_1; + int __pyx_2; + gboolean __pyx_3; + PyObject *__pyx_4 = 0; + PyObject *__pyx_5 = 0; + PyObject *__pyx_6 = 0; + PyObject *__pyx_7 = 0; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_ui_name,&__pyx_kp_ui_version,&__pyx_kp_ui_website,&__pyx_kp_ui_dev_website,&__pyx_kp_debug_enabled,&__pyx_kp_default_path,0}; + __pyx_v_debug_enabled = Py_None; + __pyx_v_default_path = Py_None; + if (unlikely(__pyx_kwds)) { + PyObject* values[6] = {0,0,0,0,0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_ui_name); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_ui_version); + if (likely(values[1])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + case 2: + values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_ui_website); + if (likely(values[2])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + case 3: + values[3] = PyDict_GetItem(__pyx_kwds, __pyx_kp_ui_dev_website); + if (likely(values[3])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_ui_name = values[0]; + __pyx_v_ui_version = values[1]; + __pyx_v_ui_website = values[2]; + __pyx_v_ui_dev_website = values[3]; + if (values[4]) { + __pyx_v_debug_enabled = values[4]; + } + if (values[5]) { + __pyx_v_default_path = values[5]; + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 6: + __pyx_v_default_path = PyTuple_GET_ITEM(__pyx_args, 5); + case 5: + __pyx_v_debug_enabled = PyTuple_GET_ITEM(__pyx_args, 4); + case 4: + __pyx_v_ui_dev_website = PyTuple_GET_ITEM(__pyx_args, 3); + __pyx_v_ui_website = PyTuple_GET_ITEM(__pyx_args, 2); + __pyx_v_ui_version = PyTuple_GET_ITEM(__pyx_args, 1); + __pyx_v_ui_name = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Purple.__init__"); + return -1; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":76 + * global c_ui_dev_website + * + * c_ui_name = ui_name # <<<<<<<<<<<<<< + * c_ui_version = ui_version + * c_ui_website = ui_website + */ + __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_ui_name); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_6purple_c_ui_name = __pyx_1; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":77 + * + * c_ui_name = ui_name + * c_ui_version = ui_version # <<<<<<<<<<<<<< + * c_ui_website = ui_website + * c_ui_dev_website = ui_dev_website + */ + __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_ui_version); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_6purple_c_ui_version = __pyx_1; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":78 + * c_ui_name = ui_name + * c_ui_version = ui_version + * c_ui_website = ui_website # <<<<<<<<<<<<<< + * c_ui_dev_website = ui_dev_website + * + */ + __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_ui_website); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_6purple_c_ui_website = __pyx_1; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":79 + * c_ui_version = ui_version + * c_ui_website = ui_website + * c_ui_dev_website = ui_dev_website # <<<<<<<<<<<<<< + * + * if debug_enabled: + */ + __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_ui_dev_website); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_6purple_c_ui_dev_website = __pyx_1; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":81 + * c_ui_dev_website = ui_dev_website + * + * if debug_enabled: # <<<<<<<<<<<<<< + * debug.purple_debug_set_enabled(debug_enabled) + * + */ + __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_v_debug_enabled); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":82 + * + * if debug_enabled: + * debug.purple_debug_set_enabled(debug_enabled) # <<<<<<<<<<<<<< + * + * if default_path: + */ + __pyx_3 = __pyx_PyInt_int(__pyx_v_debug_enabled); if (unlikely((__pyx_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_debug_set_enabled(__pyx_3); + goto __pyx_L6; + } + __pyx_L6:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":84 + * debug.purple_debug_set_enabled(debug_enabled) + * + * if default_path: # <<<<<<<<<<<<<< + * util.purple_util_set_user_dir(default_path) + * + */ + __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_v_default_path); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":85 + * + * if default_path: + * util.purple_util_set_user_dir(default_path) # <<<<<<<<<<<<<< + * + * # adds glib iteration inside ecore main loop + */ + __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_default_path); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_util_set_user_dir(__pyx_1); + goto __pyx_L7; + } + __pyx_L7:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":88 + * + * # adds glib iteration inside ecore main loop + * ecore.timer_add(0.001, self.__glib_iteration_when_idle) # <<<<<<<<<<<<<< + * + * def destroy(self): + */ + __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_ecore); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_5 = PyObject_GetAttr(__pyx_4, __pyx_kp_timer_add); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + __pyx_4 = PyFloat_FromDouble(0.001); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_6 = PyObject_GetAttr(__pyx_v_self, __pyx_kp_1); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_7 = PyTuple_New(2); if (unlikely(!__pyx_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_7, 0, __pyx_4); + PyTuple_SET_ITEM(__pyx_7, 1, __pyx_6); + __pyx_4 = 0; + __pyx_6 = 0; + __pyx_4 = PyObject_Call(__pyx_5, ((PyObject *)__pyx_7), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + Py_DECREF(((PyObject *)__pyx_7)); __pyx_7 = 0; + Py_DECREF(__pyx_4); __pyx_4 = 0; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_4); + Py_XDECREF(__pyx_5); + Py_XDECREF(__pyx_6); + Py_XDECREF(__pyx_7); + __Pyx_AddTraceback("purple.Purple.__init__"); + __pyx_r = -1; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":90 + * ecore.timer_add(0.001, self.__glib_iteration_when_idle) + * + * def destroy(self): # <<<<<<<<<<<<<< + * core.purple_core_quit() + * + */ + +static PyObject *__pyx_pf_6purple_6Purple_destroy(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_6Purple_destroy(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":91 + * + * def destroy(self): + * core.purple_core_quit() # <<<<<<<<<<<<<< + * + * def __get_ui_name(self): + */ + purple_core_quit(); + + __pyx_r = Py_None; Py_INCREF(Py_None); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":93 + * core.purple_core_quit() + * + * def __get_ui_name(self): # <<<<<<<<<<<<<< + * global c_ui_name + * return str(c_ui_name) + */ + +static PyObject *__pyx_pf_6purple_6Purple___get_ui_name(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_6Purple___get_ui_name(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":95 + * def __get_ui_name(self): + * global c_ui_name + * return str(c_ui_name) # <<<<<<<<<<<<<< + * ui_name = property(__get_ui_name) + * + */ + __pyx_1 = __Pyx_PyBytes_FromString(__pyx_v_6purple_c_ui_name); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_r = __pyx_1; + __pyx_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Purple.__get_ui_name"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":98 + * ui_name = property(__get_ui_name) + * + * cdef void __core_ui_ops_ui_prefs_init(self): # <<<<<<<<<<<<<< + * debug.purple_debug_info("core_ui_ops", "%s", "ui_prefs_init\n") + * prefs.purple_prefs_load() + */ + +static void __pyx_f_6purple_6Purple___core_ui_ops_ui_prefs_init(struct __pyx_obj_6purple_Purple *__pyx_v_self) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":99 + * + * cdef void __core_ui_ops_ui_prefs_init(self): + * debug.purple_debug_info("core_ui_ops", "%s", "ui_prefs_init\n") # <<<<<<<<<<<<<< + * prefs.purple_prefs_load() + * + */ + purple_debug_info(__pyx_k_382, __pyx_k_383, __pyx_k_384); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":100 + * cdef void __core_ui_ops_ui_prefs_init(self): + * debug.purple_debug_info("core_ui_ops", "%s", "ui_prefs_init\n") + * prefs.purple_prefs_load() # <<<<<<<<<<<<<< + * + * prefs.purple_prefs_add_none("/carman") + */ + purple_prefs_load(); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":102 + * prefs.purple_prefs_load() + * + * prefs.purple_prefs_add_none("/carman") # <<<<<<<<<<<<<< + * + * cdef void __core_ui_ops_debug_init(self): + */ + purple_prefs_add_none(__pyx_k_385); + +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":104 + * prefs.purple_prefs_add_none("/carman") + * + * cdef void __core_ui_ops_debug_init(self): # <<<<<<<<<<<<<< + * debug.purple_debug_info("core_ui_ops", "%s", "debug_ui_init\n") + * pass + */ + +static void __pyx_f_6purple_6Purple___core_ui_ops_debug_init(struct __pyx_obj_6purple_Purple *__pyx_v_self) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":105 + * + * cdef void __core_ui_ops_debug_init(self): + * debug.purple_debug_info("core_ui_ops", "%s", "debug_ui_init\n") # <<<<<<<<<<<<<< + * pass + * + */ + purple_debug_info(__pyx_k_386, __pyx_k_387, __pyx_k_388); + +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":108 + * pass + * + * cdef void __core_ui_ops_ui_init(self): # <<<<<<<<<<<<<< + * debug.purple_debug_info("core_ui_ops", "%s", "ui_init\n") + * + */ + +static void __pyx_f_6purple_6Purple___core_ui_ops_ui_init(struct __pyx_obj_6purple_Purple *__pyx_v_self) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":109 + * + * cdef void __core_ui_ops_ui_init(self): + * debug.purple_debug_info("core_ui_ops", "%s", "ui_init\n") # <<<<<<<<<<<<<< + * + * account.purple_accounts_set_ui_ops(&c_account_ui_ops) + */ + purple_debug_info(__pyx_k_389, __pyx_k_390, __pyx_k_391); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":111 + * debug.purple_debug_info("core_ui_ops", "%s", "ui_init\n") + * + * account.purple_accounts_set_ui_ops(&c_account_ui_ops) # <<<<<<<<<<<<<< + * connection.purple_connections_set_ui_ops(&c_conn_ui_ops) + * blist.purple_blist_set_ui_ops(&c_blist_ui_ops) + */ + purple_accounts_set_ui_ops((&__pyx_v_6purple_c_account_ui_ops)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":112 + * + * account.purple_accounts_set_ui_ops(&c_account_ui_ops) + * connection.purple_connections_set_ui_ops(&c_conn_ui_ops) # <<<<<<<<<<<<<< + * blist.purple_blist_set_ui_ops(&c_blist_ui_ops) + * conversation.purple_conversations_set_ui_ops(&c_conv_ui_ops) + */ + purple_connections_set_ui_ops((&__pyx_v_6purple_c_conn_ui_ops)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":113 + * account.purple_accounts_set_ui_ops(&c_account_ui_ops) + * connection.purple_connections_set_ui_ops(&c_conn_ui_ops) + * blist.purple_blist_set_ui_ops(&c_blist_ui_ops) # <<<<<<<<<<<<<< + * conversation.purple_conversations_set_ui_ops(&c_conv_ui_ops) + * notify.purple_notify_set_ui_ops(&c_notify_ui_ops) + */ + purple_blist_set_ui_ops((&__pyx_v_6purple_c_blist_ui_ops)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":114 + * connection.purple_connections_set_ui_ops(&c_conn_ui_ops) + * blist.purple_blist_set_ui_ops(&c_blist_ui_ops) + * conversation.purple_conversations_set_ui_ops(&c_conv_ui_ops) # <<<<<<<<<<<<<< + * notify.purple_notify_set_ui_ops(&c_notify_ui_ops) + * #privacy.purple_privacy_set_ui_ops(&c_privacy_ui_ops) + */ + purple_conversations_set_ui_ops((&__pyx_v_6purple_c_conv_ui_ops)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":115 + * blist.purple_blist_set_ui_ops(&c_blist_ui_ops) + * conversation.purple_conversations_set_ui_ops(&c_conv_ui_ops) + * notify.purple_notify_set_ui_ops(&c_notify_ui_ops) # <<<<<<<<<<<<<< + * #privacy.purple_privacy_set_ui_ops(&c_privacy_ui_ops) + * request.purple_request_set_ui_ops(&c_request_ui_ops) + */ + purple_notify_set_ui_ops((&__pyx_v_6purple_c_notify_ui_ops)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":117 + * notify.purple_notify_set_ui_ops(&c_notify_ui_ops) + * #privacy.purple_privacy_set_ui_ops(&c_privacy_ui_ops) + * request.purple_request_set_ui_ops(&c_request_ui_ops) # <<<<<<<<<<<<<< + * #ft.purple_xfers_set_ui_ops(&c_ft_ui_ops) + * #roomlist.purple_roomlist_set_ui_ops(&c_rlist_ui_ops) + */ + purple_request_set_ui_ops((&__pyx_v_6purple_c_request_ui_ops)); + +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":121 + * #roomlist.purple_roomlist_set_ui_ops(&c_rlist_ui_ops) + * + * cdef void __core_ui_ops_quit(self): # <<<<<<<<<<<<<< + * debug.purple_debug_info("core_ui_ops", "%s", "quit\n") + * + */ + +static void __pyx_f_6purple_6Purple___core_ui_ops_quit(struct __pyx_obj_6purple_Purple *__pyx_v_self) { + PyObject *__pyx_1 = 0; + int __pyx_2; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":122 + * + * cdef void __core_ui_ops_quit(self): + * debug.purple_debug_info("core_ui_ops", "%s", "quit\n") # <<<<<<<<<<<<<< + * + * account.purple_accounts_set_ui_ops(NULL) + */ + purple_debug_info(__pyx_k_392, __pyx_k_393, __pyx_k_394); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":124 + * debug.purple_debug_info("core_ui_ops", "%s", "quit\n") + * + * account.purple_accounts_set_ui_ops(NULL) # <<<<<<<<<<<<<< + * connection.purple_connections_set_ui_ops(NULL) + * blist.purple_blist_set_ui_ops(NULL) + */ + purple_accounts_set_ui_ops(NULL); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":125 + * + * account.purple_accounts_set_ui_ops(NULL) + * connection.purple_connections_set_ui_ops(NULL) # <<<<<<<<<<<<<< + * blist.purple_blist_set_ui_ops(NULL) + * conversation.purple_conversations_set_ui_ops(NULL) + */ + purple_connections_set_ui_ops(NULL); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":126 + * account.purple_accounts_set_ui_ops(NULL) + * connection.purple_connections_set_ui_ops(NULL) + * blist.purple_blist_set_ui_ops(NULL) # <<<<<<<<<<<<<< + * conversation.purple_conversations_set_ui_ops(NULL) + * notify.purple_notify_set_ui_ops(NULL) + */ + purple_blist_set_ui_ops(NULL); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":127 + * connection.purple_connections_set_ui_ops(NULL) + * blist.purple_blist_set_ui_ops(NULL) + * conversation.purple_conversations_set_ui_ops(NULL) # <<<<<<<<<<<<<< + * notify.purple_notify_set_ui_ops(NULL) + * #privacy.purple_privacy_set_ui_ops(NULL) + */ + purple_conversations_set_ui_ops(NULL); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":128 + * blist.purple_blist_set_ui_ops(NULL) + * conversation.purple_conversations_set_ui_ops(NULL) + * notify.purple_notify_set_ui_ops(NULL) # <<<<<<<<<<<<<< + * #privacy.purple_privacy_set_ui_ops(NULL) + * request.purple_request_set_ui_ops(NULL) + */ + purple_notify_set_ui_ops(NULL); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":130 + * notify.purple_notify_set_ui_ops(NULL) + * #privacy.purple_privacy_set_ui_ops(NULL) + * request.purple_request_set_ui_ops(NULL) # <<<<<<<<<<<<<< + * #ft.purple_xfers_set_ui_ops(NULL) + * #roomlist.purple_roomlist_set_ui_ops(NULL) + */ + purple_request_set_ui_ops(NULL); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":134 + * #roomlist.purple_roomlist_set_ui_ops(NULL) + * + * if self.c_ui_info: # <<<<<<<<<<<<<< + * glib.g_hash_table_destroy( self.c_ui_info) + * + */ + __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_c_ui_info); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":135 + * + * if self.c_ui_info: + * glib.g_hash_table_destroy( self.c_ui_info) # <<<<<<<<<<<<<< + * + * cdef glib.GHashTable *__core_ui_ops_get_ui_info(self): + */ + __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_c_ui_info); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + g_hash_table_destroy(((GHashTable *)__pyx_1)); + Py_DECREF(__pyx_1); __pyx_1 = 0; + goto __pyx_L3; + } + __pyx_L3:; + + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + __Pyx_WriteUnraisable("purple.Purple.__core_ui_ops_quit"); + __pyx_L0:; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":137 + * glib.g_hash_table_destroy( self.c_ui_info) + * + * cdef glib.GHashTable *__core_ui_ops_get_ui_info(self): # <<<<<<<<<<<<<< + * global c_ui_info + * global c_ui_name + */ + +static GHashTable *__pyx_f_6purple_6Purple___core_ui_ops_get_ui_info(struct __pyx_obj_6purple_Purple *__pyx_v_self) { + GHashTable *__pyx_r; + int __pyx_1; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":144 + * global c_ui_dev_website + * + * if c_ui_info == NULL: # <<<<<<<<<<<<<< + * c_ui_info = glib.g_hash_table_new(glib.g_str_hash, \ + * glib.g_str_equal) + */ + __pyx_1 = (__pyx_v_6purple_c_ui_info == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":146 + * if c_ui_info == NULL: + * c_ui_info = glib.g_hash_table_new(glib.g_str_hash, \ + * glib.g_str_equal) # <<<<<<<<<<<<<< + * + * glib.g_hash_table_insert(c_ui_info, "name", c_ui_name) + */ + __pyx_v_6purple_c_ui_info = g_hash_table_new(g_str_hash, g_str_equal); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":148 + * glib.g_str_equal) + * + * glib.g_hash_table_insert(c_ui_info, "name", c_ui_name) # <<<<<<<<<<<<<< + * glib.g_hash_table_insert(c_ui_info, "version", c_ui_version) + * glib.g_hash_table_insert(c_ui_info, "website", c_ui_website) + */ + g_hash_table_insert(__pyx_v_6purple_c_ui_info, __pyx_k_395, __pyx_v_6purple_c_ui_name); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":149 + * + * glib.g_hash_table_insert(c_ui_info, "name", c_ui_name) + * glib.g_hash_table_insert(c_ui_info, "version", c_ui_version) # <<<<<<<<<<<<<< + * glib.g_hash_table_insert(c_ui_info, "website", c_ui_website) + * glib.g_hash_table_insert(c_ui_info, "dev_website", c_ui_dev_website) + */ + g_hash_table_insert(__pyx_v_6purple_c_ui_info, __pyx_k_396, __pyx_v_6purple_c_ui_version); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":150 + * glib.g_hash_table_insert(c_ui_info, "name", c_ui_name) + * glib.g_hash_table_insert(c_ui_info, "version", c_ui_version) + * glib.g_hash_table_insert(c_ui_info, "website", c_ui_website) # <<<<<<<<<<<<<< + * glib.g_hash_table_insert(c_ui_info, "dev_website", c_ui_dev_website) + * return c_ui_info + */ + g_hash_table_insert(__pyx_v_6purple_c_ui_info, __pyx_k_397, __pyx_v_6purple_c_ui_website); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":151 + * glib.g_hash_table_insert(c_ui_info, "version", c_ui_version) + * glib.g_hash_table_insert(c_ui_info, "website", c_ui_website) + * glib.g_hash_table_insert(c_ui_info, "dev_website", c_ui_dev_website) # <<<<<<<<<<<<<< + * return c_ui_info + * + */ + g_hash_table_insert(__pyx_v_6purple_c_ui_info, __pyx_k_398, __pyx_v_6purple_c_ui_dev_website); + goto __pyx_L3; + } + __pyx_L3:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":152 + * glib.g_hash_table_insert(c_ui_info, "website", c_ui_website) + * glib.g_hash_table_insert(c_ui_info, "dev_website", c_ui_dev_website) + * return c_ui_info # <<<<<<<<<<<<<< + * + * def __glib_iteration_when_idle(self): + */ + __pyx_r = __pyx_v_6purple_c_ui_info; + goto __pyx_L0; + + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":154 + * return c_ui_info + * + * def __glib_iteration_when_idle(self): # <<<<<<<<<<<<<< + * glib.g_main_context_iteration(NULL, False) + * return True + */ + +static PyObject *__pyx_pf_6purple_6Purple___glib_iteration_when_idle(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_6Purple___glib_iteration_when_idle(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + PyObject *__pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":155 + * + * def __glib_iteration_when_idle(self): + * glib.g_main_context_iteration(NULL, False) # <<<<<<<<<<<<<< + * return True + * + */ + g_main_context_iteration(NULL, 0); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":156 + * def __glib_iteration_when_idle(self): + * glib.g_main_context_iteration(NULL, False) + * return True # <<<<<<<<<<<<<< + * + * def purple_init(self): + */ + __pyx_1 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_1; + __pyx_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + __Pyx_AddTraceback("purple.Purple.__glib_iteration_when_idle"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":158 + * return True + * + * def purple_init(self): # <<<<<<<<<<<<<< + * """ Initializes libpurple """ + * global c_ui_name + */ + +static PyObject *__pyx_pf_6purple_6Purple_purple_init(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static char __pyx_doc_6purple_6Purple_purple_init[] = " Initializes libpurple "; +static PyObject *__pyx_pf_6purple_6Purple_purple_init(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_v_ret; + PyObject *__pyx_r; + PyObject *__pyx_1 = 0; + int __pyx_2; + __pyx_v_ret = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":162 + * global c_ui_name + * + * c_account_ui_ops.notify_added = notify_added # <<<<<<<<<<<<<< + * c_account_ui_ops.status_changed = status_changed + * c_account_ui_ops.request_add = request_add + */ + __pyx_v_6purple_c_account_ui_ops.notify_added = __pyx_f_6purple_notify_added; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":163 + * + * c_account_ui_ops.notify_added = notify_added + * c_account_ui_ops.status_changed = status_changed # <<<<<<<<<<<<<< + * c_account_ui_ops.request_add = request_add + * c_account_ui_ops.request_authorize = request_authorize + */ + __pyx_v_6purple_c_account_ui_ops.status_changed = __pyx_f_6purple_status_changed; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":164 + * c_account_ui_ops.notify_added = notify_added + * c_account_ui_ops.status_changed = status_changed + * c_account_ui_ops.request_add = request_add # <<<<<<<<<<<<<< + * c_account_ui_ops.request_authorize = request_authorize + * c_account_ui_ops.close_account_request = close_account_request + */ + __pyx_v_6purple_c_account_ui_ops.request_add = __pyx_f_6purple_request_add; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":165 + * c_account_ui_ops.status_changed = status_changed + * c_account_ui_ops.request_add = request_add + * c_account_ui_ops.request_authorize = request_authorize # <<<<<<<<<<<<<< + * c_account_ui_ops.close_account_request = close_account_request + * + */ + __pyx_v_6purple_c_account_ui_ops.request_authorize = __pyx_f_6purple_request_authorize; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":166 + * c_account_ui_ops.request_add = request_add + * c_account_ui_ops.request_authorize = request_authorize + * c_account_ui_ops.close_account_request = close_account_request # <<<<<<<<<<<<<< + * + * c_blist_ui_ops.new_list = new_list + */ + __pyx_v_6purple_c_account_ui_ops.close_account_request = __pyx_f_6purple_close_account_request; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":168 + * c_account_ui_ops.close_account_request = close_account_request + * + * c_blist_ui_ops.new_list = new_list # <<<<<<<<<<<<<< + * c_blist_ui_ops.new_node = new_node + * c_blist_ui_ops.show = show + */ + __pyx_v_6purple_c_blist_ui_ops.new_list = __pyx_f_6purple_new_list; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":169 + * + * c_blist_ui_ops.new_list = new_list + * c_blist_ui_ops.new_node = new_node # <<<<<<<<<<<<<< + * c_blist_ui_ops.show = show + * c_blist_ui_ops.update = update + */ + __pyx_v_6purple_c_blist_ui_ops.new_node = __pyx_f_6purple_new_node; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":170 + * c_blist_ui_ops.new_list = new_list + * c_blist_ui_ops.new_node = new_node + * c_blist_ui_ops.show = show # <<<<<<<<<<<<<< + * c_blist_ui_ops.update = update + * c_blist_ui_ops.remove = remove + */ + __pyx_v_6purple_c_blist_ui_ops.show = __pyx_f_6purple_show; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":171 + * c_blist_ui_ops.new_node = new_node + * c_blist_ui_ops.show = show + * c_blist_ui_ops.update = update # <<<<<<<<<<<<<< + * c_blist_ui_ops.remove = remove + * c_blist_ui_ops.destroy = destroy + */ + __pyx_v_6purple_c_blist_ui_ops.update = __pyx_f_6purple_update; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":172 + * c_blist_ui_ops.show = show + * c_blist_ui_ops.update = update + * c_blist_ui_ops.remove = remove # <<<<<<<<<<<<<< + * c_blist_ui_ops.destroy = destroy + * c_blist_ui_ops.set_visible = set_visible + */ + __pyx_v_6purple_c_blist_ui_ops.remove = __pyx_f_6purple_remove; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":173 + * c_blist_ui_ops.update = update + * c_blist_ui_ops.remove = remove + * c_blist_ui_ops.destroy = destroy # <<<<<<<<<<<<<< + * c_blist_ui_ops.set_visible = set_visible + * c_blist_ui_ops.request_add_buddy = request_add_buddy + */ + __pyx_v_6purple_c_blist_ui_ops.destroy = __pyx_f_6purple_destroy; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":174 + * c_blist_ui_ops.remove = remove + * c_blist_ui_ops.destroy = destroy + * c_blist_ui_ops.set_visible = set_visible # <<<<<<<<<<<<<< + * c_blist_ui_ops.request_add_buddy = request_add_buddy + * c_blist_ui_ops.request_add_chat = request_add_chat + */ + __pyx_v_6purple_c_blist_ui_ops.set_visible = __pyx_f_6purple_set_visible; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":175 + * c_blist_ui_ops.destroy = destroy + * c_blist_ui_ops.set_visible = set_visible + * c_blist_ui_ops.request_add_buddy = request_add_buddy # <<<<<<<<<<<<<< + * c_blist_ui_ops.request_add_chat = request_add_chat + * c_blist_ui_ops.request_add_group = request_add_group + */ + __pyx_v_6purple_c_blist_ui_ops.request_add_buddy = __pyx_f_6purple_request_add_buddy; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":176 + * c_blist_ui_ops.set_visible = set_visible + * c_blist_ui_ops.request_add_buddy = request_add_buddy + * c_blist_ui_ops.request_add_chat = request_add_chat # <<<<<<<<<<<<<< + * c_blist_ui_ops.request_add_group = request_add_group + * + */ + __pyx_v_6purple_c_blist_ui_ops.request_add_chat = __pyx_f_6purple_request_add_chat; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":177 + * c_blist_ui_ops.request_add_buddy = request_add_buddy + * c_blist_ui_ops.request_add_chat = request_add_chat + * c_blist_ui_ops.request_add_group = request_add_group # <<<<<<<<<<<<<< + * + * c_conn_ui_ops.connect_progress = connect_progress + */ + __pyx_v_6purple_c_blist_ui_ops.request_add_group = __pyx_f_6purple_request_add_group; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":179 + * c_blist_ui_ops.request_add_group = request_add_group + * + * c_conn_ui_ops.connect_progress = connect_progress # <<<<<<<<<<<<<< + * c_conn_ui_ops.connected = connected + * c_conn_ui_ops.disconnected = disconnected + */ + __pyx_v_6purple_c_conn_ui_ops.connect_progress = __pyx_f_6purple_connect_progress; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":180 + * + * c_conn_ui_ops.connect_progress = connect_progress + * c_conn_ui_ops.connected = connected # <<<<<<<<<<<<<< + * c_conn_ui_ops.disconnected = disconnected + * c_conn_ui_ops.notice = notice + */ + __pyx_v_6purple_c_conn_ui_ops.connected = __pyx_f_6purple_connected; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":181 + * c_conn_ui_ops.connect_progress = connect_progress + * c_conn_ui_ops.connected = connected + * c_conn_ui_ops.disconnected = disconnected # <<<<<<<<<<<<<< + * c_conn_ui_ops.notice = notice + * c_conn_ui_ops.report_disconnect = report_disconnect + */ + __pyx_v_6purple_c_conn_ui_ops.disconnected = __pyx_f_6purple_disconnected; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":182 + * c_conn_ui_ops.connected = connected + * c_conn_ui_ops.disconnected = disconnected + * c_conn_ui_ops.notice = notice # <<<<<<<<<<<<<< + * c_conn_ui_ops.report_disconnect = report_disconnect + * c_conn_ui_ops.network_connected = network_connected + */ + __pyx_v_6purple_c_conn_ui_ops.notice = __pyx_f_6purple_notice; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":183 + * c_conn_ui_ops.disconnected = disconnected + * c_conn_ui_ops.notice = notice + * c_conn_ui_ops.report_disconnect = report_disconnect # <<<<<<<<<<<<<< + * c_conn_ui_ops.network_connected = network_connected + * c_conn_ui_ops.network_disconnected = network_disconnected + */ + __pyx_v_6purple_c_conn_ui_ops.report_disconnect = __pyx_f_6purple_report_disconnect; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":184 + * c_conn_ui_ops.notice = notice + * c_conn_ui_ops.report_disconnect = report_disconnect + * c_conn_ui_ops.network_connected = network_connected # <<<<<<<<<<<<<< + * c_conn_ui_ops.network_disconnected = network_disconnected + * c_conn_ui_ops.report_disconnect_reason = report_disconnect_reason + */ + __pyx_v_6purple_c_conn_ui_ops.network_connected = __pyx_f_6purple_network_connected; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":185 + * c_conn_ui_ops.report_disconnect = report_disconnect + * c_conn_ui_ops.network_connected = network_connected + * c_conn_ui_ops.network_disconnected = network_disconnected # <<<<<<<<<<<<<< + * c_conn_ui_ops.report_disconnect_reason = report_disconnect_reason + * + */ + __pyx_v_6purple_c_conn_ui_ops.network_disconnected = __pyx_f_6purple_network_disconnected; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":186 + * c_conn_ui_ops.network_connected = network_connected + * c_conn_ui_ops.network_disconnected = network_disconnected + * c_conn_ui_ops.report_disconnect_reason = report_disconnect_reason # <<<<<<<<<<<<<< + * + * c_conv_ui_ops.create_conversation = create_conversation + */ + __pyx_v_6purple_c_conn_ui_ops.report_disconnect_reason = __pyx_f_6purple_report_disconnect_reason; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":188 + * c_conn_ui_ops.report_disconnect_reason = report_disconnect_reason + * + * c_conv_ui_ops.create_conversation = create_conversation # <<<<<<<<<<<<<< + * c_conv_ui_ops.destroy_conversation = destroy_conversation + * c_conv_ui_ops.write_chat = write_chat + */ + __pyx_v_6purple_c_conv_ui_ops.create_conversation = __pyx_f_6purple_create_conversation; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":189 + * + * c_conv_ui_ops.create_conversation = create_conversation + * c_conv_ui_ops.destroy_conversation = destroy_conversation # <<<<<<<<<<<<<< + * c_conv_ui_ops.write_chat = write_chat + * c_conv_ui_ops.write_im = write_im + */ + __pyx_v_6purple_c_conv_ui_ops.destroy_conversation = __pyx_f_6purple_destroy_conversation; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":190 + * c_conv_ui_ops.create_conversation = create_conversation + * c_conv_ui_ops.destroy_conversation = destroy_conversation + * c_conv_ui_ops.write_chat = write_chat # <<<<<<<<<<<<<< + * c_conv_ui_ops.write_im = write_im + * c_conv_ui_ops.write_conv = write_conv + */ + __pyx_v_6purple_c_conv_ui_ops.write_chat = __pyx_f_6purple_write_chat; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":191 + * c_conv_ui_ops.destroy_conversation = destroy_conversation + * c_conv_ui_ops.write_chat = write_chat + * c_conv_ui_ops.write_im = write_im # <<<<<<<<<<<<<< + * c_conv_ui_ops.write_conv = write_conv + * c_conv_ui_ops.chat_add_users = chat_add_users + */ + __pyx_v_6purple_c_conv_ui_ops.write_im = __pyx_f_6purple_write_im; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":192 + * c_conv_ui_ops.write_chat = write_chat + * c_conv_ui_ops.write_im = write_im + * c_conv_ui_ops.write_conv = write_conv # <<<<<<<<<<<<<< + * c_conv_ui_ops.chat_add_users = chat_add_users + * c_conv_ui_ops.chat_rename_user = chat_rename_user + */ + __pyx_v_6purple_c_conv_ui_ops.write_conv = __pyx_f_6purple_write_conv; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":193 + * c_conv_ui_ops.write_im = write_im + * c_conv_ui_ops.write_conv = write_conv + * c_conv_ui_ops.chat_add_users = chat_add_users # <<<<<<<<<<<<<< + * c_conv_ui_ops.chat_rename_user = chat_rename_user + * c_conv_ui_ops.chat_remove_users = chat_remove_users + */ + __pyx_v_6purple_c_conv_ui_ops.chat_add_users = __pyx_f_6purple_chat_add_users; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":194 + * c_conv_ui_ops.write_conv = write_conv + * c_conv_ui_ops.chat_add_users = chat_add_users + * c_conv_ui_ops.chat_rename_user = chat_rename_user # <<<<<<<<<<<<<< + * c_conv_ui_ops.chat_remove_users = chat_remove_users + * c_conv_ui_ops.chat_update_user = chat_update_user + */ + __pyx_v_6purple_c_conv_ui_ops.chat_rename_user = __pyx_f_6purple_chat_rename_user; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":195 + * c_conv_ui_ops.chat_add_users = chat_add_users + * c_conv_ui_ops.chat_rename_user = chat_rename_user + * c_conv_ui_ops.chat_remove_users = chat_remove_users # <<<<<<<<<<<<<< + * c_conv_ui_ops.chat_update_user = chat_update_user + * c_conv_ui_ops.present = present + */ + __pyx_v_6purple_c_conv_ui_ops.chat_remove_users = __pyx_f_6purple_chat_remove_users; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":196 + * c_conv_ui_ops.chat_rename_user = chat_rename_user + * c_conv_ui_ops.chat_remove_users = chat_remove_users + * c_conv_ui_ops.chat_update_user = chat_update_user # <<<<<<<<<<<<<< + * c_conv_ui_ops.present = present + * c_conv_ui_ops.has_focus = has_focus + */ + __pyx_v_6purple_c_conv_ui_ops.chat_update_user = __pyx_f_6purple_chat_update_user; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":197 + * c_conv_ui_ops.chat_remove_users = chat_remove_users + * c_conv_ui_ops.chat_update_user = chat_update_user + * c_conv_ui_ops.present = present # <<<<<<<<<<<<<< + * c_conv_ui_ops.has_focus = has_focus + * c_conv_ui_ops.custom_smiley_add = custom_smiley_add + */ + __pyx_v_6purple_c_conv_ui_ops.present = __pyx_f_6purple_present; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":198 + * c_conv_ui_ops.chat_update_user = chat_update_user + * c_conv_ui_ops.present = present + * c_conv_ui_ops.has_focus = has_focus # <<<<<<<<<<<<<< + * c_conv_ui_ops.custom_smiley_add = custom_smiley_add + * c_conv_ui_ops.custom_smiley_write = custom_smiley_write + */ + __pyx_v_6purple_c_conv_ui_ops.has_focus = __pyx_f_6purple_has_focus; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":199 + * c_conv_ui_ops.present = present + * c_conv_ui_ops.has_focus = has_focus + * c_conv_ui_ops.custom_smiley_add = custom_smiley_add # <<<<<<<<<<<<<< + * c_conv_ui_ops.custom_smiley_write = custom_smiley_write + * c_conv_ui_ops.custom_smiley_close = custom_smiley_close + */ + __pyx_v_6purple_c_conv_ui_ops.custom_smiley_add = __pyx_f_6purple_custom_smiley_add; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":200 + * c_conv_ui_ops.has_focus = has_focus + * c_conv_ui_ops.custom_smiley_add = custom_smiley_add + * c_conv_ui_ops.custom_smiley_write = custom_smiley_write # <<<<<<<<<<<<<< + * c_conv_ui_ops.custom_smiley_close = custom_smiley_close + * c_conv_ui_ops.send_confirm = send_confirm + */ + __pyx_v_6purple_c_conv_ui_ops.custom_smiley_write = __pyx_f_6purple_custom_smiley_write; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":201 + * c_conv_ui_ops.custom_smiley_add = custom_smiley_add + * c_conv_ui_ops.custom_smiley_write = custom_smiley_write + * c_conv_ui_ops.custom_smiley_close = custom_smiley_close # <<<<<<<<<<<<<< + * c_conv_ui_ops.send_confirm = send_confirm + * + */ + __pyx_v_6purple_c_conv_ui_ops.custom_smiley_close = __pyx_f_6purple_custom_smiley_close; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":202 + * c_conv_ui_ops.custom_smiley_write = custom_smiley_write + * c_conv_ui_ops.custom_smiley_close = custom_smiley_close + * c_conv_ui_ops.send_confirm = send_confirm # <<<<<<<<<<<<<< + * + * c_notify_ui_ops.notify_message = notify_message + */ + __pyx_v_6purple_c_conv_ui_ops.send_confirm = __pyx_f_6purple_send_confirm; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":204 + * c_conv_ui_ops.send_confirm = send_confirm + * + * c_notify_ui_ops.notify_message = notify_message # <<<<<<<<<<<<<< + * c_notify_ui_ops.notify_email = notify_email + * c_notify_ui_ops.notify_emails = notify_emails + */ + __pyx_v_6purple_c_notify_ui_ops.notify_message = __pyx_f_6purple_notify_message; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":205 + * + * c_notify_ui_ops.notify_message = notify_message + * c_notify_ui_ops.notify_email = notify_email # <<<<<<<<<<<<<< + * c_notify_ui_ops.notify_emails = notify_emails + * c_notify_ui_ops.notify_formatted = notify_formatted + */ + __pyx_v_6purple_c_notify_ui_ops.notify_email = __pyx_f_6purple_notify_email; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":206 + * c_notify_ui_ops.notify_message = notify_message + * c_notify_ui_ops.notify_email = notify_email + * c_notify_ui_ops.notify_emails = notify_emails # <<<<<<<<<<<<<< + * c_notify_ui_ops.notify_formatted = notify_formatted + * c_notify_ui_ops.notify_searchresults = notify_searchresults + */ + __pyx_v_6purple_c_notify_ui_ops.notify_emails = __pyx_f_6purple_notify_emails; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":207 + * c_notify_ui_ops.notify_email = notify_email + * c_notify_ui_ops.notify_emails = notify_emails + * c_notify_ui_ops.notify_formatted = notify_formatted # <<<<<<<<<<<<<< + * c_notify_ui_ops.notify_searchresults = notify_searchresults + * c_notify_ui_ops.notify_searchresults_new_rows = notify_searchresults_new_rows + */ + __pyx_v_6purple_c_notify_ui_ops.notify_formatted = __pyx_f_6purple_notify_formatted; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":208 + * c_notify_ui_ops.notify_emails = notify_emails + * c_notify_ui_ops.notify_formatted = notify_formatted + * c_notify_ui_ops.notify_searchresults = notify_searchresults # <<<<<<<<<<<<<< + * c_notify_ui_ops.notify_searchresults_new_rows = notify_searchresults_new_rows + * c_notify_ui_ops.notify_userinfo = notify_userinfo + */ + __pyx_v_6purple_c_notify_ui_ops.notify_searchresults = __pyx_f_6purple_notify_searchresults; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":209 + * c_notify_ui_ops.notify_formatted = notify_formatted + * c_notify_ui_ops.notify_searchresults = notify_searchresults + * c_notify_ui_ops.notify_searchresults_new_rows = notify_searchresults_new_rows # <<<<<<<<<<<<<< + * c_notify_ui_ops.notify_userinfo = notify_userinfo + * c_notify_ui_ops.notify_uri = notify_uri + */ + __pyx_v_6purple_c_notify_ui_ops.notify_searchresults_new_rows = __pyx_f_6purple_notify_searchresults_new_rows; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":210 + * c_notify_ui_ops.notify_searchresults = notify_searchresults + * c_notify_ui_ops.notify_searchresults_new_rows = notify_searchresults_new_rows + * c_notify_ui_ops.notify_userinfo = notify_userinfo # <<<<<<<<<<<<<< + * c_notify_ui_ops.notify_uri = notify_uri + * c_notify_ui_ops.close_notify = close_notify + */ + __pyx_v_6purple_c_notify_ui_ops.notify_userinfo = __pyx_f_6purple_notify_userinfo; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":211 + * c_notify_ui_ops.notify_searchresults_new_rows = notify_searchresults_new_rows + * c_notify_ui_ops.notify_userinfo = notify_userinfo + * c_notify_ui_ops.notify_uri = notify_uri # <<<<<<<<<<<<<< + * c_notify_ui_ops.close_notify = close_notify + * + */ + __pyx_v_6purple_c_notify_ui_ops.notify_uri = __pyx_f_6purple_notify_uri; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":212 + * c_notify_ui_ops.notify_userinfo = notify_userinfo + * c_notify_ui_ops.notify_uri = notify_uri + * c_notify_ui_ops.close_notify = close_notify # <<<<<<<<<<<<<< + * + * c_request_ui_ops.request_input = request_input + */ + __pyx_v_6purple_c_notify_ui_ops.close_notify = __pyx_f_6purple_close_notify; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":214 + * c_notify_ui_ops.close_notify = close_notify + * + * c_request_ui_ops.request_input = request_input # <<<<<<<<<<<<<< + * c_request_ui_ops.request_choice = request_choice + * c_request_ui_ops.request_action = request_action + */ + __pyx_v_6purple_c_request_ui_ops.request_input = __pyx_f_6purple_request_input; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":215 + * + * c_request_ui_ops.request_input = request_input + * c_request_ui_ops.request_choice = request_choice # <<<<<<<<<<<<<< + * c_request_ui_ops.request_action = request_action + * c_request_ui_ops.request_fields = request_fields + */ + __pyx_v_6purple_c_request_ui_ops.request_choice = __pyx_f_6purple_request_choice; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":216 + * c_request_ui_ops.request_input = request_input + * c_request_ui_ops.request_choice = request_choice + * c_request_ui_ops.request_action = request_action # <<<<<<<<<<<<<< + * c_request_ui_ops.request_fields = request_fields + * c_request_ui_ops.request_file = request_file + */ + __pyx_v_6purple_c_request_ui_ops.request_action = __pyx_f_6purple_request_action; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":217 + * c_request_ui_ops.request_choice = request_choice + * c_request_ui_ops.request_action = request_action + * c_request_ui_ops.request_fields = request_fields # <<<<<<<<<<<<<< + * c_request_ui_ops.request_file = request_file + * c_request_ui_ops.close_request = close_request + */ + __pyx_v_6purple_c_request_ui_ops.request_fields = __pyx_f_6purple_request_fields; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":218 + * c_request_ui_ops.request_action = request_action + * c_request_ui_ops.request_fields = request_fields + * c_request_ui_ops.request_file = request_file # <<<<<<<<<<<<<< + * c_request_ui_ops.close_request = close_request + * c_request_ui_ops.request_folder = request_folder + */ + __pyx_v_6purple_c_request_ui_ops.request_file = __pyx_f_6purple_request_file; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":219 + * c_request_ui_ops.request_fields = request_fields + * c_request_ui_ops.request_file = request_file + * c_request_ui_ops.close_request = close_request # <<<<<<<<<<<<<< + * c_request_ui_ops.request_folder = request_folder + * + */ + __pyx_v_6purple_c_request_ui_ops.close_request = __pyx_f_6purple_close_request; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":220 + * c_request_ui_ops.request_file = request_file + * c_request_ui_ops.close_request = close_request + * c_request_ui_ops.request_folder = request_folder # <<<<<<<<<<<<<< + * + * c_core_ui_ops.ui_prefs_init = self.__core_ui_ops_ui_prefs_init + */ + __pyx_v_6purple_c_request_ui_ops.request_folder = __pyx_f_6purple_request_folder; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":222 + * c_request_ui_ops.request_folder = request_folder + * + * c_core_ui_ops.ui_prefs_init = self.__core_ui_ops_ui_prefs_init # <<<<<<<<<<<<<< + * c_core_ui_ops.debug_ui_init = self.__core_ui_ops_debug_init + * c_core_ui_ops.ui_init = self.__core_ui_ops_ui_init + */ + __pyx_v_6purple_c_core_ui_ops.ui_prefs_init = ((void (*)(void))((struct __pyx_vtabstruct_6purple_Purple *)((struct __pyx_obj_6purple_Purple *)__pyx_v_self)->__pyx_vtab)->__core_ui_ops_ui_prefs_init); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":223 + * + * c_core_ui_ops.ui_prefs_init = self.__core_ui_ops_ui_prefs_init + * c_core_ui_ops.debug_ui_init = self.__core_ui_ops_debug_init # <<<<<<<<<<<<<< + * c_core_ui_ops.ui_init = self.__core_ui_ops_ui_init + * c_core_ui_ops.quit = self.__core_ui_ops_quit + */ + __pyx_v_6purple_c_core_ui_ops.debug_ui_init = ((void (*)(void))((struct __pyx_vtabstruct_6purple_Purple *)((struct __pyx_obj_6purple_Purple *)__pyx_v_self)->__pyx_vtab)->__core_ui_ops_debug_init); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":224 + * c_core_ui_ops.ui_prefs_init = self.__core_ui_ops_ui_prefs_init + * c_core_ui_ops.debug_ui_init = self.__core_ui_ops_debug_init + * c_core_ui_ops.ui_init = self.__core_ui_ops_ui_init # <<<<<<<<<<<<<< + * c_core_ui_ops.quit = self.__core_ui_ops_quit + * c_core_ui_ops.get_ui_info = self.__core_ui_ops_get_ui_info + */ + __pyx_v_6purple_c_core_ui_ops.ui_init = ((void (*)(void))((struct __pyx_vtabstruct_6purple_Purple *)((struct __pyx_obj_6purple_Purple *)__pyx_v_self)->__pyx_vtab)->__core_ui_ops_ui_init); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":225 + * c_core_ui_ops.debug_ui_init = self.__core_ui_ops_debug_init + * c_core_ui_ops.ui_init = self.__core_ui_ops_ui_init + * c_core_ui_ops.quit = self.__core_ui_ops_quit # <<<<<<<<<<<<<< + * c_core_ui_ops.get_ui_info = self.__core_ui_ops_get_ui_info + * + */ + __pyx_v_6purple_c_core_ui_ops.quit = ((void (*)(void))((struct __pyx_vtabstruct_6purple_Purple *)((struct __pyx_obj_6purple_Purple *)__pyx_v_self)->__pyx_vtab)->__core_ui_ops_quit); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":226 + * c_core_ui_ops.ui_init = self.__core_ui_ops_ui_init + * c_core_ui_ops.quit = self.__core_ui_ops_quit + * c_core_ui_ops.get_ui_info = self.__core_ui_ops_get_ui_info # <<<<<<<<<<<<<< + * + * c_eventloop_ui_ops.timeout_add = glib.g_timeout_add + */ + __pyx_v_6purple_c_core_ui_ops.get_ui_info = ((GHashTable *(*)(void))((struct __pyx_vtabstruct_6purple_Purple *)((struct __pyx_obj_6purple_Purple *)__pyx_v_self)->__pyx_vtab)->__core_ui_ops_get_ui_info); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":228 + * c_core_ui_ops.get_ui_info = self.__core_ui_ops_get_ui_info + * + * c_eventloop_ui_ops.timeout_add = glib.g_timeout_add # <<<<<<<<<<<<<< + * c_eventloop_ui_ops.timeout_remove = glib.g_source_remove + * c_eventloop_ui_ops.input_add = glib_input_add + */ + __pyx_v_6purple_c_eventloop_ui_ops.timeout_add = g_timeout_add; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":229 + * + * c_eventloop_ui_ops.timeout_add = glib.g_timeout_add + * c_eventloop_ui_ops.timeout_remove = glib.g_source_remove # <<<<<<<<<<<<<< + * c_eventloop_ui_ops.input_add = glib_input_add + * c_eventloop_ui_ops.input_remove = glib.g_source_remove + */ + __pyx_v_6purple_c_eventloop_ui_ops.timeout_remove = g_source_remove; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":230 + * c_eventloop_ui_ops.timeout_add = glib.g_timeout_add + * c_eventloop_ui_ops.timeout_remove = glib.g_source_remove + * c_eventloop_ui_ops.input_add = glib_input_add # <<<<<<<<<<<<<< + * c_eventloop_ui_ops.input_remove = glib.g_source_remove + * c_eventloop_ui_ops.input_get_error = NULL + */ + __pyx_v_6purple_c_eventloop_ui_ops.input_add = glib_input_add; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":231 + * c_eventloop_ui_ops.timeout_remove = glib.g_source_remove + * c_eventloop_ui_ops.input_add = glib_input_add + * c_eventloop_ui_ops.input_remove = glib.g_source_remove # <<<<<<<<<<<<<< + * c_eventloop_ui_ops.input_get_error = NULL + * c_eventloop_ui_ops.timeout_add_seconds = NULL + */ + __pyx_v_6purple_c_eventloop_ui_ops.input_remove = g_source_remove; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":232 + * c_eventloop_ui_ops.input_add = glib_input_add + * c_eventloop_ui_ops.input_remove = glib.g_source_remove + * c_eventloop_ui_ops.input_get_error = NULL # <<<<<<<<<<<<<< + * c_eventloop_ui_ops.timeout_add_seconds = NULL + * + */ + __pyx_v_6purple_c_eventloop_ui_ops.input_get_error = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":233 + * c_eventloop_ui_ops.input_remove = glib.g_source_remove + * c_eventloop_ui_ops.input_get_error = NULL + * c_eventloop_ui_ops.timeout_add_seconds = NULL # <<<<<<<<<<<<<< + * + * core.purple_core_set_ui_ops(&c_core_ui_ops) + */ + __pyx_v_6purple_c_eventloop_ui_ops.timeout_add_seconds = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":235 + * c_eventloop_ui_ops.timeout_add_seconds = NULL + * + * core.purple_core_set_ui_ops(&c_core_ui_ops) # <<<<<<<<<<<<<< + * eventloop.purple_eventloop_set_ui_ops(&c_eventloop_ui_ops) + * + */ + purple_core_set_ui_ops((&__pyx_v_6purple_c_core_ui_ops)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":236 + * + * core.purple_core_set_ui_ops(&c_core_ui_ops) + * eventloop.purple_eventloop_set_ui_ops(&c_eventloop_ui_ops) # <<<<<<<<<<<<<< + * + * # initialize purple core + */ + purple_eventloop_set_ui_ops((&__pyx_v_6purple_c_eventloop_ui_ops)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":239 + * + * # initialize purple core + * ret = core.purple_core_init(c_ui_name) # <<<<<<<<<<<<<< + * if ret is False: + * debug.purple_debug_fatal("main", "%s", "libpurple " \ + */ + __pyx_1 = PyInt_FromLong(purple_core_init(__pyx_v_6purple_c_ui_name)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_ret); + __pyx_v_ret = __pyx_1; + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":240 + * # initialize purple core + * ret = core.purple_core_init(c_ui_name) + * if ret is False: # <<<<<<<<<<<<<< + * debug.purple_debug_fatal("main", "%s", "libpurple " \ + * "initialization failed.\n") + */ + __pyx_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = (__pyx_v_ret == __pyx_1); + Py_DECREF(__pyx_1); __pyx_1 = 0; + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":241 + * ret = core.purple_core_init(c_ui_name) + * if ret is False: + * debug.purple_debug_fatal("main", "%s", "libpurple " \ # <<<<<<<<<<<<<< + * "initialization failed.\n") + * return False + */ + purple_debug_fatal(__pyx_k_399, __pyx_k_400, __pyx_k_401); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":243 + * debug.purple_debug_fatal("main", "%s", "libpurple " \ + * "initialization failed.\n") + * return False # <<<<<<<<<<<<<< + * + * # check if there is another instance of libpurple running + */ + __pyx_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_1; + __pyx_1 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":246 + * + * # check if there is another instance of libpurple running + * if core.purple_core_ensure_single_instance() == False: # <<<<<<<<<<<<<< + * debug.purple_debug_fatal("main", "%s", "Another instance of " \ + * "libpurple is already running.\n") + */ + __pyx_2 = (purple_core_ensure_single_instance() == 0); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":247 + * # check if there is another instance of libpurple running + * if core.purple_core_ensure_single_instance() == False: + * debug.purple_debug_fatal("main", "%s", "Another instance of " \ # <<<<<<<<<<<<<< + * "libpurple is already running.\n") + * core.purple_core_quit() + */ + purple_debug_fatal(__pyx_k_402, __pyx_k_403, __pyx_k_404); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":249 + * debug.purple_debug_fatal("main", "%s", "Another instance of " \ + * "libpurple is already running.\n") + * core.purple_core_quit() # <<<<<<<<<<<<<< + * return False + * + */ + purple_core_quit(); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":250 + * "libpurple is already running.\n") + * core.purple_core_quit() + * return False # <<<<<<<<<<<<<< + * + * # create and load the buddy list + */ + __pyx_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_1; + __pyx_1 = 0; + goto __pyx_L0; + goto __pyx_L6; + } + __pyx_L6:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":253 + * + * # create and load the buddy list + * blist.purple_set_blist(blist.purple_blist_new()) # <<<<<<<<<<<<<< + * blist.purple_blist_load() + * + */ + purple_set_blist(purple_blist_new()); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":254 + * # create and load the buddy list + * blist.purple_set_blist(blist.purple_blist_new()) + * blist.purple_blist_load() # <<<<<<<<<<<<<< + * + * # load pounces + */ + purple_blist_load(); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":257 + * + * # load pounces + * pounce.purple_pounces_load() # <<<<<<<<<<<<<< + * + * return ret + */ + purple_pounces_load(); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":259 + * pounce.purple_pounces_load() + * + * return ret # <<<<<<<<<<<<<< + * + * def add_callback(self, type, name, callback): + */ + Py_INCREF(__pyx_v_ret); + __pyx_r = __pyx_v_ret; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + __Pyx_AddTraceback("purple.Purple.purple_init"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_ret); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":261 + * return ret + * + * def add_callback(self, type, name, callback): # <<<<<<<<<<<<<< + * """ + * Adds a callback with given name inside callback's type. + */ + +static PyObject *__pyx_pf_6purple_6Purple_add_callback(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6purple_6Purple_add_callback[] = "\n Adds a callback with given name inside callback's type.\n\n @param type Callback type (e.g. \"account\")\n @param name Callback name (e.g. \"notify-added\")\n @param callback Callback to be called\n "; +static PyObject *__pyx_pf_6purple_6Purple_add_callback(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_type = 0; + PyObject *__pyx_v_name = 0; + PyObject *__pyx_v_callback = 0; + PyObject *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_type,&__pyx_kp_name,&__pyx_kp_callback,0}; + if (unlikely(__pyx_kwds)) { + PyObject* values[3] = {0,0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_type); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name); + if (likely(values[1])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("add_callback", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + case 2: + values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_callback); + if (likely(values[2])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("add_callback", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "add_callback") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_type = values[0]; + __pyx_v_name = values[1]; + __pyx_v_callback = values[2]; + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + __pyx_v_type = PyTuple_GET_ITEM(__pyx_args, 0); + __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 1); + __pyx_v_callback = PyTuple_GET_ITEM(__pyx_args, 2); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("add_callback", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Purple.add_callback"); + return NULL; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":281 + * "conversation": conversation_cbs, + * "notify": notify_cbs, + * "request": request_cbs }[type][name] = callback # <<<<<<<<<<<<<< + * + * def signal_connect(self, name=None, cb=None): + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":276 + * global request_cbs + * + * { "account": account_cbs, # <<<<<<<<<<<<<< + * "blist": blist_cbs, + * "connection": connection_cbs, + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_405, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":277 + * + * { "account": account_cbs, + * "blist": blist_cbs, # <<<<<<<<<<<<<< + * "connection": connection_cbs, + * "conversation": conversation_cbs, + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_406, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":278 + * { "account": account_cbs, + * "blist": blist_cbs, + * "connection": connection_cbs, # <<<<<<<<<<<<<< + * "conversation": conversation_cbs, + * "notify": notify_cbs, + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_407, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":279 + * "blist": blist_cbs, + * "connection": connection_cbs, + * "conversation": conversation_cbs, # <<<<<<<<<<<<<< + * "notify": notify_cbs, + * "request": request_cbs }[type][name] = callback + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_408, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":280 + * "connection": connection_cbs, + * "conversation": conversation_cbs, + * "notify": notify_cbs, # <<<<<<<<<<<<<< + * "request": request_cbs }[type][name] = callback + * + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_409, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":281 + * "conversation": conversation_cbs, + * "notify": notify_cbs, + * "request": request_cbs }[type][name] = callback # <<<<<<<<<<<<<< + * + * def signal_connect(self, name=None, cb=None): + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_410, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyObject_GetItem(((PyObject *)__pyx_1), __pyx_v_type); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyObject_SetItem(__pyx_2, __pyx_v_name, __pyx_v_callback) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Purple.add_callback"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":283 + * "request": request_cbs }[type][name] = callback + * + * def signal_connect(self, name=None, cb=None): # <<<<<<<<<<<<<< + * cdef int handle + * cdef plugin.PurplePlugin *jabber + */ + +static PyObject *__pyx_pf_6purple_6Purple_signal_connect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_6purple_6Purple_signal_connect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_name = 0; + PyObject *__pyx_v_cb = 0; + int __pyx_v_handle; + PurplePlugin *__pyx_v_jabber; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_name,&__pyx_kp_cb,0}; + __pyx_v_name = Py_None; + __pyx_v_cb = Py_None; + if (unlikely(__pyx_kwds)) { + PyObject* values[2] = {0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "signal_connect") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + if (values[0]) { + __pyx_v_name = values[0]; + } + if (values[1]) { + __pyx_v_cb = values[1]; + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: __pyx_v_cb = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("signal_connect", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Purple.signal_connect"); + return NULL; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":287 + * cdef plugin.PurplePlugin *jabber + * + * if name is None: # <<<<<<<<<<<<<< + * return + * + */ + __pyx_1 = (__pyx_v_name == Py_None); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":288 + * + * if name is None: + * return # <<<<<<<<<<<<<< + * + * jabber = prpl.purple_find_prpl("prpl-jabber") + */ + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + goto __pyx_L6; + } + __pyx_L6:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":290 + * return + * + * jabber = prpl.purple_find_prpl("prpl-jabber") # <<<<<<<<<<<<<< + * if jabber == NULL: + * return + */ + __pyx_v_jabber = purple_find_prpl(__pyx_k_411); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":291 + * + * jabber = prpl.purple_find_prpl("prpl-jabber") + * if jabber == NULL: # <<<<<<<<<<<<<< + * return + * + */ + __pyx_1 = (__pyx_v_jabber == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":292 + * jabber = prpl.purple_find_prpl("prpl-jabber") + * if jabber == NULL: + * return # <<<<<<<<<<<<<< + * + * global signal_cbs + */ + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + goto __pyx_L7; + } + __pyx_L7:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":295 + * + * global signal_cbs + * signal_cbs[name] = cb # <<<<<<<<<<<<<< + * + * if name == "signed-on": + */ + __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetItem(__pyx_2, __pyx_v_name, __pyx_v_cb) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":297 + * signal_cbs[name] = cb + * + * if name == "signed-on": # <<<<<<<<<<<<<< + * signals.purple_signal_connect( + * connection.purple_connections_get_handle(), + */ + __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_412, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":301 + * connection.purple_connections_get_handle(), + * "signed-on", &handle, + * signal_signed_on_cb, NULL) # <<<<<<<<<<<<<< + * elif name == "signed-off": + * signals.purple_signal_connect( + */ + purple_signal_connect(purple_connections_get_handle(), __pyx_k_413, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_signed_on_cb), NULL); + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":302 + * "signed-on", &handle, + * signal_signed_on_cb, NULL) + * elif name == "signed-off": # <<<<<<<<<<<<<< + * signals.purple_signal_connect( + * connection.purple_connections_get_handle(), + */ + __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_414, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":306 + * connection.purple_connections_get_handle(), + * "signed-off", &handle, + * signal_signed_off_cb, NULL) # <<<<<<<<<<<<<< + * elif name == "connection-error": + * signals.purple_signal_connect( + */ + purple_signal_connect(purple_connections_get_handle(), __pyx_k_415, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_signed_off_cb), NULL); + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":307 + * "signed-off", &handle, + * signal_signed_off_cb, NULL) + * elif name == "connection-error": # <<<<<<<<<<<<<< + * signals.purple_signal_connect( + * connection.purple_connections_get_handle(), + */ + __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_416, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":311 + * connection.purple_connections_get_handle(), + * "connection-error", &handle, + * signal_connection_error_cb, NULL) # <<<<<<<<<<<<<< + * elif name == "buddy-signed-on": + * signals.purple_signal_connect( + */ + purple_signal_connect(purple_connections_get_handle(), __pyx_k_417, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_connection_error_cb), NULL); + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":312 + * "connection-error", &handle, + * signal_connection_error_cb, NULL) + * elif name == "buddy-signed-on": # <<<<<<<<<<<<<< + * signals.purple_signal_connect( + * blist.purple_blist_get_handle(), + */ + __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_418, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":316 + * blist.purple_blist_get_handle(), + * "buddy-signed-on", &handle, + * signal_buddy_signed_on_cb, NULL) # <<<<<<<<<<<<<< + * elif name == "buddy-signed-off": + * signals.purple_signal_connect( + */ + purple_signal_connect(purple_blist_get_handle(), __pyx_k_419, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_buddy_signed_on_cb), NULL); + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":317 + * "buddy-signed-on", &handle, + * signal_buddy_signed_on_cb, NULL) + * elif name == "buddy-signed-off": # <<<<<<<<<<<<<< + * signals.purple_signal_connect( + * blist.purple_blist_get_handle(), + */ + __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_420, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":321 + * blist.purple_blist_get_handle(), + * "buddy-signed-off", &handle, + * signal_buddy_signed_off_cb, NULL) # <<<<<<<<<<<<<< + * elif name == "receiving-im-msg": + * signals.purple_signal_connect( + */ + purple_signal_connect(purple_blist_get_handle(), __pyx_k_421, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_buddy_signed_off_cb), NULL); + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":322 + * "buddy-signed-off", &handle, + * signal_buddy_signed_off_cb, NULL) + * elif name == "receiving-im-msg": # <<<<<<<<<<<<<< + * signals.purple_signal_connect( + * conversation.purple_conversations_get_handle(), + */ + __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_422, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":326 + * conversation.purple_conversations_get_handle(), + * "receiving-im-msg", &handle, + * signal_receiving_im_msg_cb, NULL) # <<<<<<<<<<<<<< + * elif name == "jabber-receiving-xmlnode": + * signals.purple_signal_connect( + */ + purple_signal_connect(purple_conversations_get_handle(), __pyx_k_423, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_receiving_im_msg_cb), NULL); + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":327 + * "receiving-im-msg", &handle, + * signal_receiving_im_msg_cb, NULL) + * elif name == "jabber-receiving-xmlnode": # <<<<<<<<<<<<<< + * signals.purple_signal_connect( + * jabber, "jabber-receiving-xmlnode", &handle, + */ + __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_424, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":330 + * signals.purple_signal_connect( + * jabber, "jabber-receiving-xmlnode", &handle, + * jabber_receiving_xmlnode_cb, NULL) # <<<<<<<<<<<<<< + * + * def accounts_get_all(self): + */ + purple_signal_connect(__pyx_v_jabber, __pyx_k_425, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_jabber_receiving_xmlnode_cb), NULL); + goto __pyx_L8; + } + __pyx_L8:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Purple.signal_connect"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":332 + * jabber_receiving_xmlnode_cb, NULL) + * + * def accounts_get_all(self): # <<<<<<<<<<<<<< + * cdef glib.GList *iter + * cdef account.PurpleAccount *acc + */ + +static PyObject *__pyx_pf_6purple_6Purple_accounts_get_all(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_6Purple_accounts_get_all(PyObject *__pyx_v_self, PyObject *unused) { + GList *__pyx_v_iter; + PurpleAccount *__pyx_v_acc; + char *__pyx_v_username; + char *__pyx_v_protocol_id; + PyObject *__pyx_v_account_list; + PyObject *__pyx_r; + PyObject *__pyx_1 = 0; + int __pyx_2; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_account_list = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":338 + * cdef char *protocol_id + * + * iter = account.purple_accounts_get_all() # <<<<<<<<<<<<<< + * account_list = [] + * + */ + __pyx_v_iter = purple_accounts_get_all(); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":339 + * + * iter = account.purple_accounts_get_all() + * account_list = [] # <<<<<<<<<<<<<< + * + * while iter: + */ + __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_account_list); + __pyx_v_account_list = ((PyObject *)__pyx_1); + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":341 + * account_list = [] + * + * while iter: # <<<<<<<<<<<<<< + * acc = iter.data + * + */ + while (1) { + __pyx_2 = (__pyx_v_iter != 0); + if (!__pyx_2) break; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":342 + * + * while iter: + * acc = iter.data # <<<<<<<<<<<<<< + * + * if acc: + */ + __pyx_v_acc = ((PurpleAccount *)__pyx_v_iter->data); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":344 + * acc = iter.data + * + * if acc: # <<<<<<<<<<<<<< + * username = account.purple_account_get_username(acc) + * protocol_id = account.purple_account_get_protocol_id(acc) + */ + __pyx_2 = (((PurpleAccount *)__pyx_v_acc) != 0); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":345 + * + * if acc: + * username = account.purple_account_get_username(acc) # <<<<<<<<<<<<<< + * protocol_id = account.purple_account_get_protocol_id(acc) + * + */ + __pyx_v_username = ((char *)purple_account_get_username(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":346 + * if acc: + * username = account.purple_account_get_username(acc) + * protocol_id = account.purple_account_get_protocol_id(acc) # <<<<<<<<<<<<<< + * + * if username != NULL and protocol_id != NULL: + */ + __pyx_v_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":348 + * protocol_id = account.purple_account_get_protocol_id(acc) + * + * if username != NULL and protocol_id != NULL: # <<<<<<<<<<<<<< + * account_list.append(Account(username, \ + * Protocol(protocol_id), self)) + */ + __pyx_2 = (__pyx_v_username != NULL); + if (__pyx_2) { + __pyx_2 = (__pyx_v_protocol_id != NULL); + } + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":349 + * + * if username != NULL and protocol_id != NULL: + * account_list.append(Account(username, \ # <<<<<<<<<<<<<< + * Protocol(protocol_id), self)) + * iter = iter.next + */ + __pyx_1 = __Pyx_PyBytes_FromString(__pyx_v_username); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":350 + * if username != NULL and protocol_id != NULL: + * account_list.append(Account(username, \ + * Protocol(protocol_id), self)) # <<<<<<<<<<<<<< + * iter = iter.next + * + */ + __pyx_3 = __Pyx_PyBytes_FromString(__pyx_v_protocol_id); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); + __pyx_3 = 0; + __pyx_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6purple_Protocol)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + __pyx_4 = PyTuple_New(3); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3); + Py_INCREF(__pyx_v_self); + PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_self); + __pyx_1 = 0; + __pyx_3 = 0; + __pyx_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6purple_Account)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + __pyx_3 = __Pyx_PyObject_Append(__pyx_v_account_list, __pyx_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L8; + } + __pyx_L8:; + goto __pyx_L7; + } + __pyx_L7:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":351 + * account_list.append(Account(username, \ + * Protocol(protocol_id), self)) + * iter = iter.next # <<<<<<<<<<<<<< + * + * return account_list + */ + __pyx_v_iter = __pyx_v_iter->next; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":353 + * iter = iter.next + * + * return account_list # <<<<<<<<<<<<<< + * + * def accounts_get_all_active(self): + */ + Py_INCREF(__pyx_v_account_list); + __pyx_r = __pyx_v_account_list; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Purple.accounts_get_all"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_account_list); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":355 + * return account_list + * + * def accounts_get_all_active(self): # <<<<<<<<<<<<<< + * cdef glib.GList *iter + * cdef account.PurpleAccount *acc + */ + +static PyObject *__pyx_pf_6purple_6Purple_accounts_get_all_active(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_6Purple_accounts_get_all_active(PyObject *__pyx_v_self, PyObject *unused) { + GList *__pyx_v_iter; + PurpleAccount *__pyx_v_acc; + char *__pyx_v_username; + char *__pyx_v_protocol_id; + PyObject *__pyx_v_account_list; + PyObject *__pyx_r; + PyObject *__pyx_1 = 0; + int __pyx_2; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_account_list = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":361 + * cdef char *protocol_id + * + * iter = account.purple_accounts_get_all_active() # <<<<<<<<<<<<<< + * account_list = [] + * + */ + __pyx_v_iter = purple_accounts_get_all_active(); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":362 + * + * iter = account.purple_accounts_get_all_active() + * account_list = [] # <<<<<<<<<<<<<< + * + * while iter: + */ + __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_account_list); + __pyx_v_account_list = ((PyObject *)__pyx_1); + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":364 + * account_list = [] + * + * while iter: # <<<<<<<<<<<<<< + * acc = iter.data + * + */ + while (1) { + __pyx_2 = (__pyx_v_iter != 0); + if (!__pyx_2) break; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":365 + * + * while iter: + * acc = iter.data # <<<<<<<<<<<<<< + * + * if acc: + */ + __pyx_v_acc = ((PurpleAccount *)__pyx_v_iter->data); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":367 + * acc = iter.data + * + * if acc: # <<<<<<<<<<<<<< + * username = account.purple_account_get_username(acc) + * protocol_id = account.purple_account_get_protocol_id(acc) + */ + __pyx_2 = (((PurpleAccount *)__pyx_v_acc) != 0); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":368 + * + * if acc: + * username = account.purple_account_get_username(acc) # <<<<<<<<<<<<<< + * protocol_id = account.purple_account_get_protocol_id(acc) + * + */ + __pyx_v_username = ((char *)purple_account_get_username(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":369 + * if acc: + * username = account.purple_account_get_username(acc) + * protocol_id = account.purple_account_get_protocol_id(acc) # <<<<<<<<<<<<<< + * + * if username != NULL and protocol_id != NULL: + */ + __pyx_v_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":371 + * protocol_id = account.purple_account_get_protocol_id(acc) + * + * if username != NULL and protocol_id != NULL: # <<<<<<<<<<<<<< + * account_list.append(Account(username, \ + * Protocol(protocol_id), self)) + */ + __pyx_2 = (__pyx_v_username != NULL); + if (__pyx_2) { + __pyx_2 = (__pyx_v_protocol_id != NULL); + } + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":372 + * + * if username != NULL and protocol_id != NULL: + * account_list.append(Account(username, \ # <<<<<<<<<<<<<< + * Protocol(protocol_id), self)) + * iter = iter.next + */ + __pyx_1 = __Pyx_PyBytes_FromString(__pyx_v_username); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":373 + * if username != NULL and protocol_id != NULL: + * account_list.append(Account(username, \ + * Protocol(protocol_id), self)) # <<<<<<<<<<<<<< + * iter = iter.next + * + */ + __pyx_3 = __Pyx_PyBytes_FromString(__pyx_v_protocol_id); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); + __pyx_3 = 0; + __pyx_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6purple_Protocol)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + __pyx_4 = PyTuple_New(3); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3); + Py_INCREF(__pyx_v_self); + PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_self); + __pyx_1 = 0; + __pyx_3 = 0; + __pyx_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6purple_Account)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + __pyx_3 = __Pyx_PyObject_Append(__pyx_v_account_list, __pyx_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L8; + } + __pyx_L8:; + goto __pyx_L7; + } + __pyx_L7:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":374 + * account_list.append(Account(username, \ + * Protocol(protocol_id), self)) + * iter = iter.next # <<<<<<<<<<<<<< + * + * return account_list + */ + __pyx_v_iter = __pyx_v_iter->next; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":376 + * iter = iter.next + * + * return account_list # <<<<<<<<<<<<<< + * + * def protocols_get_all(self): + */ + Py_INCREF(__pyx_v_account_list); + __pyx_r = __pyx_v_account_list; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Purple.accounts_get_all_active"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_account_list); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":378 + * return account_list + * + * def protocols_get_all(self): # <<<<<<<<<<<<<< + * cdef glib.GList *iter + * cdef plugin.PurplePlugin *pp + */ + +static PyObject *__pyx_pf_6purple_6Purple_protocols_get_all(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_6Purple_protocols_get_all(PyObject *__pyx_v_self, PyObject *unused) { + GList *__pyx_v_iter; + PurplePlugin *__pyx_v_pp; + PyObject *__pyx_v_protocol_list; + PyObject *__pyx_r; + PyObject *__pyx_1 = 0; + int __pyx_2; + PyObject *__pyx_3 = 0; + __pyx_v_protocol_list = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":382 + * cdef plugin.PurplePlugin *pp + * + * iter = plugin.purple_plugins_get_protocols() # <<<<<<<<<<<<<< + * protocol_list = [] + * while iter: + */ + __pyx_v_iter = purple_plugins_get_protocols(); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":383 + * + * iter = plugin.purple_plugins_get_protocols() + * protocol_list = [] # <<<<<<<<<<<<<< + * while iter: + * pp = iter.data + */ + __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_protocol_list); + __pyx_v_protocol_list = ((PyObject *)__pyx_1); + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":384 + * iter = plugin.purple_plugins_get_protocols() + * protocol_list = [] + * while iter: # <<<<<<<<<<<<<< + * pp = iter.data + * if pp.info and pp.info.name: + */ + while (1) { + __pyx_2 = (__pyx_v_iter != 0); + if (!__pyx_2) break; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":385 + * protocol_list = [] + * while iter: + * pp = iter.data # <<<<<<<<<<<<<< + * if pp.info and pp.info.name: + * protocol_list.append(Protocol(pp.info.id)) + */ + __pyx_v_pp = ((PurplePlugin *)__pyx_v_iter->data); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":386 + * while iter: + * pp = iter.data + * if pp.info and pp.info.name: # <<<<<<<<<<<<<< + * protocol_list.append(Protocol(pp.info.id)) + * iter = iter.next + */ + __pyx_2 = (__pyx_v_pp->info != 0); + if (__pyx_2) { + __pyx_2 = (__pyx_v_pp->info->name != 0); + } + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":387 + * pp = iter.data + * if pp.info and pp.info.name: + * protocol_list.append(Protocol(pp.info.id)) # <<<<<<<<<<<<<< + * iter = iter.next + * return protocol_list + */ + __pyx_1 = __Pyx_PyBytes_FromString(__pyx_v_pp->info->id); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6purple_Protocol)), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + __pyx_3 = __Pyx_PyObject_Append(__pyx_v_protocol_list, __pyx_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L7; + } + __pyx_L7:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":388 + * if pp.info and pp.info.name: + * protocol_list.append(Protocol(pp.info.id)) + * iter = iter.next # <<<<<<<<<<<<<< + * return protocol_list + * + */ + __pyx_v_iter = __pyx_v_iter->next; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":389 + * protocol_list.append(Protocol(pp.info.id)) + * iter = iter.next + * return protocol_list # <<<<<<<<<<<<<< + * + * include "protocol.pyx" + */ + Py_INCREF(__pyx_v_protocol_list); + __pyx_r = __pyx_v_protocol_list; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_3); + __Pyx_AddTraceback("purple.Purple.protocols_get_all"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_protocol_list); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":30 + * cdef object __exists + * + * def __init__(self, id): # <<<<<<<<<<<<<< + * self.__id = id + * + */ + +static int __pyx_pf_6purple_8Protocol___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pf_6purple_8Protocol___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_id = 0; + int __pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_id,0}; + if (unlikely(__pyx_kwds)) { + PyObject* values[1] = {0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_id); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_id = values[0]; + } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { + goto __pyx_L5_argtuple_error; + } else { + __pyx_v_id = PyTuple_GET_ITEM(__pyx_args, 0); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[9]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Protocol.__init__"); + return -1; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":31 + * + * def __init__(self, id): + * self.__id = id # <<<<<<<<<<<<<< + * + * if self._get_structure() != NULL: + */ + Py_INCREF(__pyx_v_id); + Py_DECREF(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__id); + ((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__id = __pyx_v_id; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":33 + * self.__id = id + * + * if self._get_structure() != NULL: # <<<<<<<<<<<<<< + * self.__exists = True + * else: + */ + __pyx_1 = (((struct __pyx_vtabstruct_6purple_Protocol *)((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)) != NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":34 + * + * if self._get_structure() != NULL: + * self.__exists = True # <<<<<<<<<<<<<< + * else: + * self.__exists = False + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists = __pyx_2; + __pyx_2 = 0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":36 + * self.__exists = True + * else: + * self.__exists = False # <<<<<<<<<<<<<< + * + * cdef plugin.PurplePlugin *_get_structure(self): + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists = __pyx_2; + __pyx_2 = 0; + } + __pyx_L6:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Protocol.__init__"); + __pyx_r = -1; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":38 + * self.__exists = False + * + * cdef plugin.PurplePlugin *_get_structure(self): # <<<<<<<<<<<<<< + * return plugin.purple_plugins_find_with_id(self.__id) + * + */ + +static PurplePlugin *__pyx_f_6purple_8Protocol__get_structure(struct __pyx_obj_6purple_Protocol *__pyx_v_self) { + PurplePlugin *__pyx_r; + char *__pyx_1; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":39 + * + * cdef plugin.PurplePlugin *_get_structure(self): + * return plugin.purple_plugins_find_with_id(self.__id) # <<<<<<<<<<<<<< + * + * def __get_exists(self): + */ + __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_self->__id); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = purple_plugins_find_with_id(__pyx_1); + goto __pyx_L0; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_WriteUnraisable("purple.Protocol._get_structure"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":41 + * return plugin.purple_plugins_find_with_id(self.__id) + * + * def __get_exists(self): # <<<<<<<<<<<<<< + * return self.__exists + * exists = property(__get_exists) + */ + +static PyObject *__pyx_pf_6purple_8Protocol___get_exists(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_8Protocol___get_exists(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":42 + * + * def __get_exists(self): + * return self.__exists # <<<<<<<<<<<<<< + * exists = property(__get_exists) + * + */ + Py_INCREF(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists); + __pyx_r = ((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":45 + * exists = property(__get_exists) + * + * def __get_id(self): # <<<<<<<<<<<<<< + * return self.__id + * id = property(__get_id) + */ + +static PyObject *__pyx_pf_6purple_8Protocol___get_id(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_8Protocol___get_id(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":46 + * + * def __get_id(self): + * return self.__id # <<<<<<<<<<<<<< + * id = property(__get_id) + * + */ + Py_INCREF(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__id); + __pyx_r = ((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__id; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":49 + * id = property(__get_id) + * + * def __get_name(self): # <<<<<<<<<<<<<< + * cdef char *name = NULL + * if self.__exists: + */ + +static PyObject *__pyx_pf_6purple_8Protocol___get_name(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_8Protocol___get_name(PyObject *__pyx_v_self, PyObject *unused) { + char *__pyx_v_name; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":50 + * + * def __get_name(self): + * cdef char *name = NULL # <<<<<<<<<<<<<< + * if self.__exists: + * name = plugin.purple_plugin_get_name(self._get_structure()) + */ + __pyx_v_name = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":51 + * def __get_name(self): + * cdef char *name = NULL + * if self.__exists: # <<<<<<<<<<<<<< + * name = plugin.purple_plugin_get_name(self._get_structure()) + * if name != NULL: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":52 + * cdef char *name = NULL + * if self.__exists: + * name = plugin.purple_plugin_get_name(self._get_structure()) # <<<<<<<<<<<<<< + * if name != NULL: + * return name + */ + __pyx_v_name = ((char *)purple_plugin_get_name(((struct __pyx_vtabstruct_6purple_Protocol *)((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":53 + * if self.__exists: + * name = plugin.purple_plugin_get_name(self._get_structure()) + * if name != NULL: # <<<<<<<<<<<<<< + * return name + * else: + */ + __pyx_1 = (__pyx_v_name != NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":54 + * name = plugin.purple_plugin_get_name(self._get_structure()) + * if name != NULL: + * return name # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":56 + * return name + * else: + * return None # <<<<<<<<<<<<<< + * return None + * name = property(__get_name) + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L6:; + goto __pyx_L5; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":57 + * else: + * return None + * return None # <<<<<<<<<<<<<< + * name = property(__get_name) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Protocol.__get_name"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":60 + * name = property(__get_name) + * + * def __get_options_labels(self): # <<<<<<<<<<<<<< + * cdef prpl.PurplePluginProtocolInfo *prpl_info + * cdef glib.GList *iter + */ + +static PyObject *__pyx_pf_6purple_8Protocol___get_options_labels(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_8Protocol___get_options_labels(PyObject *__pyx_v_self, PyObject *unused) { + PurplePluginProtocolInfo *__pyx_v_prpl_info; + GList *__pyx_v_iter; + PurpleAccountOption *__pyx_v_option; + PurplePrefType __pyx_v_type; + const char *__pyx_v_label_name; + const char *__pyx_v_setting; + PyObject *__pyx_v_po; + PyObject *__pyx_v_sett; + PyObject *__pyx_v_label; + PyObject *__pyx_r; + int __pyx_1; + int __pyx_2; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_po = Py_None; Py_INCREF(Py_None); + __pyx_v_sett = Py_None; Py_INCREF(Py_None); + __pyx_v_label = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":68 + * cdef const_char *setting + * + * if not self.__exists: # <<<<<<<<<<<<<< + * return None + * + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = (!__pyx_1); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":69 + * + * if not self.__exists: + * return None # <<<<<<<<<<<<<< + * + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure()) + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + goto __pyx_L5; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":71 + * return None + * + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure()) # <<<<<<<<<<<<<< + * + * po = {} + */ + __pyx_v_prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(((struct __pyx_vtabstruct_6purple_Protocol *)((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":73 + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure()) + * + * po = {} # <<<<<<<<<<<<<< + * + * iter = prpl_info.protocol_options + */ + __pyx_3 = PyDict_New(); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_po); + __pyx_v_po = ((PyObject *)__pyx_3); + __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":75 + * po = {} + * + * iter = prpl_info.protocol_options # <<<<<<<<<<<<<< + * + * while iter: + */ + __pyx_v_iter = __pyx_v_prpl_info->protocol_options; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":77 + * iter = prpl_info.protocol_options + * + * while iter: # <<<<<<<<<<<<<< + * + * option = iter.data + */ + while (1) { + __pyx_1 = (__pyx_v_iter != 0); + if (!__pyx_1) break; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":79 + * while iter: + * + * option = iter.data # <<<<<<<<<<<<<< + * type = accountopt.purple_account_option_get_type(option) + * label_name = accountopt.purple_account_option_get_text(option) + */ + __pyx_v_option = ((PurpleAccountOption *)__pyx_v_iter->data); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":80 + * + * option = iter.data + * 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) + */ + __pyx_v_type = purple_account_option_get_type(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":81 + * option = iter.data + * 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) + * + */ + __pyx_v_label_name = purple_account_option_get_text(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":82 + * 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) + */ + __pyx_v_setting = purple_account_option_get_setting(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":84 + * setting = accountopt.purple_account_option_get_setting(option) + * + * sett = str( setting) # <<<<<<<<<<<<<< + * label = str( label_name) + * + */ + __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_setting)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); + __pyx_3 = 0; + __pyx_3 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_v_sett); + __pyx_v_sett = __pyx_3; + __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":85 + * + * sett = str( setting) + * label = str( label_name) # <<<<<<<<<<<<<< + * + * iter = iter.next + */ + __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_label_name)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4); + __pyx_4 = 0; + __pyx_4 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_v_label); + __pyx_v_label = __pyx_4; + __pyx_4 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":87 + * label = str( label_name) + * + * iter = iter.next # <<<<<<<<<<<<<< + * + * po[sett] = label + */ + __pyx_v_iter = __pyx_v_iter->next; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":89 + * iter = iter.next + * + * po[sett] = label # <<<<<<<<<<<<<< + * + * return po + */ + if (PyObject_SetItem(__pyx_v_po, __pyx_v_sett, __pyx_v_label) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":91 + * po[sett] = label + * + * return po # <<<<<<<<<<<<<< + * options_labels = property(__get_options_labels) + * + */ + Py_INCREF(__pyx_v_po); + __pyx_r = __pyx_v_po; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Protocol.__get_options_labels"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_po); + Py_DECREF(__pyx_v_sett); + Py_DECREF(__pyx_v_label); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":94 + * options_labels = property(__get_options_labels) + * + * def __get_options_values(self): # <<<<<<<<<<<<<< + * cdef prpl.PurplePluginProtocolInfo *prpl_info + * cdef glib.GList *iter + */ + +static PyObject *__pyx_pf_6purple_8Protocol___get_options_values(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_8Protocol___get_options_values(PyObject *__pyx_v_self, PyObject *unused) { + PurplePluginProtocolInfo *__pyx_v_prpl_info; + GList *__pyx_v_iter; + PurpleAccountOption *__pyx_v_option; + PurplePrefType __pyx_v_type; + const char *__pyx_v_str_value; + const char *__pyx_v_setting; + int __pyx_v_int_value; + gboolean __pyx_v_bool_value; + PyObject *__pyx_v_po; + PyObject *__pyx_v_sett; + PyObject *__pyx_v_val; + PyObject *__pyx_r; + int __pyx_1; + int __pyx_2; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_po = Py_None; Py_INCREF(Py_None); + __pyx_v_sett = Py_None; Py_INCREF(Py_None); + __pyx_v_val = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":104 + * cdef glib.gboolean bool_value + * + * if not self.__exists: # <<<<<<<<<<<<<< + * return None + * + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = (!__pyx_1); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":105 + * + * if not self.__exists: + * return None # <<<<<<<<<<<<<< + * + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure()) + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + goto __pyx_L5; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":107 + * return None + * + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure()) # <<<<<<<<<<<<<< + * + * po = {} + */ + __pyx_v_prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(((struct __pyx_vtabstruct_6purple_Protocol *)((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":109 + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure()) + * + * po = {} # <<<<<<<<<<<<<< + * + * iter = prpl_info.protocol_options + */ + __pyx_3 = PyDict_New(); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_po); + __pyx_v_po = ((PyObject *)__pyx_3); + __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":111 + * po = {} + * + * iter = prpl_info.protocol_options # <<<<<<<<<<<<<< + * + * while iter: + */ + __pyx_v_iter = __pyx_v_prpl_info->protocol_options; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":113 + * iter = prpl_info.protocol_options + * + * while iter: # <<<<<<<<<<<<<< + * + * option = iter.data + */ + while (1) { + __pyx_1 = (__pyx_v_iter != 0); + if (!__pyx_1) break; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":115 + * while iter: + * + * option = iter.data # <<<<<<<<<<<<<< + * type = accountopt.purple_account_option_get_type(option) + * setting = accountopt.purple_account_option_get_setting(option) + */ + __pyx_v_option = ((PurpleAccountOption *)__pyx_v_iter->data); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":116 + * + * option = iter.data + * type = accountopt.purple_account_option_get_type(option) # <<<<<<<<<<<<<< + * setting = accountopt.purple_account_option_get_setting(option) + * + */ + __pyx_v_type = purple_account_option_get_type(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":117 + * option = iter.data + * type = accountopt.purple_account_option_get_type(option) + * setting = accountopt.purple_account_option_get_setting(option) # <<<<<<<<<<<<<< + * + * sett = str( setting) + */ + __pyx_v_setting = purple_account_option_get_setting(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":119 + * setting = accountopt.purple_account_option_get_setting(option) + * + * sett = str( setting) # <<<<<<<<<<<<<< + * + * if type == prefs.PURPLE_PREF_STRING: + */ + __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_setting)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); + __pyx_3 = 0; + __pyx_3 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_v_sett); + __pyx_v_sett = __pyx_3; + __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":121 + * sett = str( setting) + * + * if type == prefs.PURPLE_PREF_STRING: # <<<<<<<<<<<<<< + * str_value = accountopt.purple_account_option_get_default_string(option) + * # Hack to set string "" as default value when the + */ + __pyx_2 = (__pyx_v_type == PURPLE_PREF_STRING); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":122 + * + * if type == prefs.PURPLE_PREF_STRING: + * str_value = accountopt.purple_account_option_get_default_string(option) # <<<<<<<<<<<<<< + * # Hack to set string "" as default value when the + * # protocol's option is NULL + */ + __pyx_v_str_value = purple_account_option_get_default_string(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":125 + * # Hack to set string "" as default value when the + * # protocol's option is NULL + * if str_value == NULL: # <<<<<<<<<<<<<< + * str_value = "" + * val = str( str_value) + */ + __pyx_1 = (__pyx_v_str_value == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":126 + * # protocol's option is NULL + * if str_value == NULL: + * str_value = "" # <<<<<<<<<<<<<< + * val = str( str_value) + * + */ + __pyx_v_str_value = __pyx_k_426; + goto __pyx_L9; + } + __pyx_L9:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":127 + * if str_value == NULL: + * str_value = "" + * val = str( str_value) # <<<<<<<<<<<<<< + * + * elif type == prefs.PURPLE_PREF_INT: + */ + __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_str_value)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4); + __pyx_4 = 0; + __pyx_4 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_v_val); + __pyx_v_val = __pyx_4; + __pyx_4 = 0; + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":129 + * val = str( str_value) + * + * elif type == prefs.PURPLE_PREF_INT: # <<<<<<<<<<<<<< + * int_value = accountopt.purple_account_option_get_default_int(option) + * val = int(int_value) + */ + __pyx_2 = (__pyx_v_type == PURPLE_PREF_INT); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":130 + * + * elif type == prefs.PURPLE_PREF_INT: + * int_value = accountopt.purple_account_option_get_default_int(option) # <<<<<<<<<<<<<< + * val = int(int_value) + * + */ + __pyx_v_int_value = purple_account_option_get_default_int(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":131 + * elif type == prefs.PURPLE_PREF_INT: + * int_value = accountopt.purple_account_option_get_default_int(option) + * val = int(int_value) # <<<<<<<<<<<<<< + * + * elif type == prefs.PURPLE_PREF_BOOLEAN: + */ + __pyx_3 = PyInt_FromLong(__pyx_v_int_value); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); + __pyx_3 = 0; + __pyx_3 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_v_val); + __pyx_v_val = __pyx_3; + __pyx_3 = 0; + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":133 + * val = int(int_value) + * + * elif type == prefs.PURPLE_PREF_BOOLEAN: # <<<<<<<<<<<<<< + * bool_value = accountopt.purple_account_option_get_default_bool(option) + * + */ + __pyx_1 = (__pyx_v_type == PURPLE_PREF_BOOLEAN); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":134 + * + * elif type == prefs.PURPLE_PREF_BOOLEAN: + * bool_value = accountopt.purple_account_option_get_default_bool(option) # <<<<<<<<<<<<<< + * + * val = bool(bool_value) + */ + __pyx_v_bool_value = purple_account_option_get_default_bool(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":136 + * bool_value = accountopt.purple_account_option_get_default_bool(option) + * + * val = bool(bool_value) # <<<<<<<<<<<<<< + * + * elif type == prefs.PURPLE_PREF_STRING_LIST: + */ + __pyx_4 = PyInt_FromLong(__pyx_v_bool_value); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4); + __pyx_4 = 0; + __pyx_4 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_v_val); + __pyx_v_val = __pyx_4; + __pyx_4 = 0; + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":138 + * val = bool(bool_value) + * + * elif type == prefs.PURPLE_PREF_STRING_LIST: # <<<<<<<<<<<<<< + * str_value = accountopt.purple_account_option_get_default_list_value(option) + * + */ + __pyx_2 = (__pyx_v_type == PURPLE_PREF_STRING_LIST); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":139 + * + * elif type == prefs.PURPLE_PREF_STRING_LIST: + * str_value = accountopt.purple_account_option_get_default_list_value(option) # <<<<<<<<<<<<<< + * + * val = str( str_value) + */ + __pyx_v_str_value = purple_account_option_get_default_list_value(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":141 + * str_value = accountopt.purple_account_option_get_default_list_value(option) + * + * val = str( str_value) # <<<<<<<<<<<<<< + * + * iter = iter.next + */ + __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_str_value)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); + __pyx_3 = 0; + __pyx_3 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_v_val); + __pyx_v_val = __pyx_3; + __pyx_3 = 0; + goto __pyx_L8; + } + __pyx_L8:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":143 + * val = str( str_value) + * + * iter = iter.next # <<<<<<<<<<<<<< + * + * po[sett] = val + */ + __pyx_v_iter = __pyx_v_iter->next; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":145 + * iter = iter.next + * + * po[sett] = val # <<<<<<<<<<<<<< + * + * return po + */ + if (PyObject_SetItem(__pyx_v_po, __pyx_v_sett, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":147 + * po[sett] = val + * + * return po # <<<<<<<<<<<<<< + * options_values = property(__get_options_values) + */ + Py_INCREF(__pyx_v_po); + __pyx_r = __pyx_v_po; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Protocol.__get_options_values"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_po); + Py_DECREF(__pyx_v_sett); + Py_DECREF(__pyx_v_val); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":25 + * cdef proxy.PurpleProxyType c_type + * + * def __init__(self): # <<<<<<<<<<<<<< + * self.c_type = proxy.PURPLE_PROXY_NONE + * + */ + +static int __pyx_pf_6purple_13ProxyInfoType___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pf_6purple_13ProxyInfoType___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + int __pyx_r; + if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;} + if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":26 + * + * def __init__(self): + * self.c_type = proxy.PURPLE_PROXY_NONE # <<<<<<<<<<<<<< + * + * def get_NONE(self): + */ + ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_NONE; + + __pyx_r = 0; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":28 + * self.c_type = proxy.PURPLE_PROXY_NONE + * + * def get_NONE(self): # <<<<<<<<<<<<<< + * self.c_type = proxy.PURPLE_PROXY_NONE + * return self + */ + +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_NONE(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_NONE(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":29 + * + * def get_NONE(self): + * self.c_type = proxy.PURPLE_PROXY_NONE # <<<<<<<<<<<<<< + * return self + * NONE = property(get_NONE) + */ + ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_NONE; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":30 + * def get_NONE(self): + * self.c_type = proxy.PURPLE_PROXY_NONE + * return self # <<<<<<<<<<<<<< + * NONE = property(get_NONE) + * + */ + Py_INCREF(__pyx_v_self); + __pyx_r = __pyx_v_self; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":33 + * NONE = property(get_NONE) + * + * def get_USE_GLOBAL(self): # <<<<<<<<<<<<<< + * self.c_type = proxy.PURPLE_PROXY_USE_GLOBAL + * return self + */ + +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_USE_GLOBAL(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_USE_GLOBAL(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":34 + * + * def get_USE_GLOBAL(self): + * self.c_type = proxy.PURPLE_PROXY_USE_GLOBAL # <<<<<<<<<<<<<< + * return self + * USE_GLOBAL = property(get_USE_GLOBAL) + */ + ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_USE_GLOBAL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":35 + * def get_USE_GLOBAL(self): + * self.c_type = proxy.PURPLE_PROXY_USE_GLOBAL + * return self # <<<<<<<<<<<<<< + * USE_GLOBAL = property(get_USE_GLOBAL) + * + */ + Py_INCREF(__pyx_v_self); + __pyx_r = __pyx_v_self; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":38 + * USE_GLOBAL = property(get_USE_GLOBAL) + * + * def get_HTTP(self): # <<<<<<<<<<<<<< + * self.c_type = proxy.PURPLE_PROXY_HTTP + * return self + */ + +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_HTTP(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_HTTP(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":39 + * + * def get_HTTP(self): + * self.c_type = proxy.PURPLE_PROXY_HTTP # <<<<<<<<<<<<<< + * return self + * HTTP = property(get_HTTP) + */ + ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_HTTP; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":40 + * def get_HTTP(self): + * self.c_type = proxy.PURPLE_PROXY_HTTP + * return self # <<<<<<<<<<<<<< + * HTTP = property(get_HTTP) + * + */ + Py_INCREF(__pyx_v_self); + __pyx_r = __pyx_v_self; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":43 + * HTTP = property(get_HTTP) + * + * def get_SOCKS4(self): # <<<<<<<<<<<<<< + * self.c_type = proxy.PURPLE_PROXY_SOCKS4 + * return self + */ + +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_SOCKS4(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_SOCKS4(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":44 + * + * def get_SOCKS4(self): + * self.c_type = proxy.PURPLE_PROXY_SOCKS4 # <<<<<<<<<<<<<< + * return self + * + */ + ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_SOCKS4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":45 + * def get_SOCKS4(self): + * self.c_type = proxy.PURPLE_PROXY_SOCKS4 + * return self # <<<<<<<<<<<<<< + * + * def get_SOCKS5(self): + */ + Py_INCREF(__pyx_v_self); + __pyx_r = __pyx_v_self; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":47 + * return self + * + * def get_SOCKS5(self): # <<<<<<<<<<<<<< + * self.c_type = proxy.PURPLE_PROXY_SOCKS5 + * return self + */ + +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_SOCKS5(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_SOCKS5(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":48 + * + * def get_SOCKS5(self): + * self.c_type = proxy.PURPLE_PROXY_SOCKS5 # <<<<<<<<<<<<<< + * return self + * + */ + ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_SOCKS5; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":49 + * def get_SOCKS5(self): + * self.c_type = proxy.PURPLE_PROXY_SOCKS5 + * return self # <<<<<<<<<<<<<< + * + * def get_USE_ENVVAR (self): + */ + Py_INCREF(__pyx_v_self); + __pyx_r = __pyx_v_self; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":51 + * return self + * + * def get_USE_ENVVAR (self): # <<<<<<<<<<<<<< + * self.c_type = proxy.PURPLE_PROXY_USE_ENVVAR + * return self + */ + +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_USE_ENVVAR(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_USE_ENVVAR(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":52 + * + * def get_USE_ENVVAR (self): + * self.c_type = proxy.PURPLE_PROXY_USE_ENVVAR # <<<<<<<<<<<<<< + * return self + * USE_ENVVAR = property(get_USE_ENVVAR) + */ + ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_USE_ENVVAR; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":53 + * def get_USE_ENVVAR (self): + * self.c_type = proxy.PURPLE_PROXY_USE_ENVVAR + * return self # <<<<<<<<<<<<<< + * USE_ENVVAR = property(get_USE_ENVVAR) + * + */ + Py_INCREF(__pyx_v_self); + __pyx_r = __pyx_v_self; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":61 + * cdef object types + * + * def __init__(self): # <<<<<<<<<<<<<< + * self.c_proxyinfo = NULL + * + */ + +static int __pyx_pf_6purple_9ProxyInfo___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pf_6purple_9ProxyInfo___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + int __pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;} + if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":62 + * + * def __init__(self): + * self.c_proxyinfo = NULL # <<<<<<<<<<<<<< + * + * self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP, + */ + ((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":64 + * self.c_proxyinfo = NULL + * + * self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP, # <<<<<<<<<<<<<< + * "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL, + * "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR, + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyInt_FromLong(PURPLE_PROXY_HTTP); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_427, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":65 + * + * self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP, + * "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL, # <<<<<<<<<<<<<< + * "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR, + * "SOCKS4": proxy.PURPLE_PROXY_SOCKS4, + */ + __pyx_2 = PyInt_FromLong(PURPLE_PROXY_USE_GLOBAL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_428, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":66 + * self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP, + * "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL, + * "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR, # <<<<<<<<<<<<<< + * "SOCKS4": proxy.PURPLE_PROXY_SOCKS4, + * "SOCKS5": proxy.PURPLE_PROXY_SOCKS5, + */ + __pyx_2 = PyInt_FromLong(PURPLE_PROXY_USE_ENVVAR); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_429, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":67 + * "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL, + * "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR, + * "SOCKS4": proxy.PURPLE_PROXY_SOCKS4, # <<<<<<<<<<<<<< + * "SOCKS5": proxy.PURPLE_PROXY_SOCKS5, + * "NONE": proxy.PURPLE_PROXY_NONE} + */ + __pyx_2 = PyInt_FromLong(PURPLE_PROXY_SOCKS4); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_430, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":68 + * "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR, + * "SOCKS4": proxy.PURPLE_PROXY_SOCKS4, + * "SOCKS5": proxy.PURPLE_PROXY_SOCKS5, # <<<<<<<<<<<<<< + * "NONE": proxy.PURPLE_PROXY_NONE} + * + */ + __pyx_2 = PyInt_FromLong(PURPLE_PROXY_SOCKS5); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_431, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":69 + * "SOCKS4": proxy.PURPLE_PROXY_SOCKS4, + * "SOCKS5": proxy.PURPLE_PROXY_SOCKS5, + * "NONE": proxy.PURPLE_PROXY_NONE} # <<<<<<<<<<<<<< + * + * + */ + __pyx_2 = PyInt_FromLong(PURPLE_PROXY_NONE); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_432, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":64 + * self.c_proxyinfo = NULL + * + * self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP, # <<<<<<<<<<<<<< + * "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL, + * "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR, + */ + Py_DECREF(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->types); + ((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->types = ((PyObject *)__pyx_1); + __pyx_1 = 0; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.ProxyInfo.__init__"); + __pyx_r = -1; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":72 + * + * + * def set_type(self, ProxyInfoType type): # <<<<<<<<<<<<<< + * if self.c_proxyinfo: + * proxy.c_purple_proxy_info_set_type(self.c_proxyinfo, type.c_type) + */ + +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_type(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/ +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_type(PyObject *__pyx_v_self, PyObject *__pyx_v_type) { + PyObject *__pyx_r; + int __pyx_1; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_type), __pyx_ptype_6purple_ProxyInfoType, 1, "type", 0))) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":73 + * + * def set_type(self, ProxyInfoType type): + * if self.c_proxyinfo: # <<<<<<<<<<<<<< + * proxy.c_purple_proxy_info_set_type(self.c_proxyinfo, type.c_type) + * + */ + __pyx_1 = (((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":74 + * def set_type(self, ProxyInfoType type): + * if self.c_proxyinfo: + * proxy.c_purple_proxy_info_set_type(self.c_proxyinfo, type.c_type) # <<<<<<<<<<<<<< + * + * def set_host(self, char *host): + */ + purple_proxy_info_set_type(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo, ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_type)->c_type); + goto __pyx_L5; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("purple.ProxyInfo.set_type"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":76 + * proxy.c_purple_proxy_info_set_type(self.c_proxyinfo, type.c_type) + * + * def set_host(self, char *host): # <<<<<<<<<<<<<< + * if self.c_proxyinfo: + * proxy.c_purple_proxy_info_set_host(self.c_proxyinfo, host) + */ + +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_host(PyObject *__pyx_v_self, PyObject *__pyx_arg_host); /*proto*/ +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_host(PyObject *__pyx_v_self, PyObject *__pyx_arg_host) { + char *__pyx_v_host; + PyObject *__pyx_r; + int __pyx_1; + assert(__pyx_arg_host); { + __pyx_v_host = __Pyx_PyBytes_AsString(__pyx_arg_host); if (unlikely((!__pyx_v_host) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("purple.ProxyInfo.set_host"); + return NULL; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":77 + * + * def set_host(self, char *host): + * if self.c_proxyinfo: # <<<<<<<<<<<<<< + * proxy.c_purple_proxy_info_set_host(self.c_proxyinfo, host) + * + */ + __pyx_1 = (((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":78 + * def set_host(self, char *host): + * if self.c_proxyinfo: + * proxy.c_purple_proxy_info_set_host(self.c_proxyinfo, host) # <<<<<<<<<<<<<< + * + * def set_port(self, int port): + */ + purple_proxy_info_set_host(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo, __pyx_v_host); + goto __pyx_L5; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":80 + * proxy.c_purple_proxy_info_set_host(self.c_proxyinfo, host) + * + * def set_port(self, int port): # <<<<<<<<<<<<<< + * if self.c_proxyinfo: + * proxy.c_purple_proxy_info_set_port(self.c_proxyinfo, port) + */ + +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_port(PyObject *__pyx_v_self, PyObject *__pyx_arg_port); /*proto*/ +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_port(PyObject *__pyx_v_self, PyObject *__pyx_arg_port) { + int __pyx_v_port; + PyObject *__pyx_r; + int __pyx_1; + assert(__pyx_arg_port); { + __pyx_v_port = __pyx_PyInt_int(__pyx_arg_port); if (unlikely((__pyx_v_port == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("purple.ProxyInfo.set_port"); + return NULL; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":81 + * + * def set_port(self, int port): + * if self.c_proxyinfo: # <<<<<<<<<<<<<< + * proxy.c_purple_proxy_info_set_port(self.c_proxyinfo, port) + * + */ + __pyx_1 = (((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":82 + * def set_port(self, int port): + * if self.c_proxyinfo: + * proxy.c_purple_proxy_info_set_port(self.c_proxyinfo, port) # <<<<<<<<<<<<<< + * + * def set_username(self, char *username): + */ + purple_proxy_info_set_port(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo, __pyx_v_port); + goto __pyx_L5; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":84 + * proxy.c_purple_proxy_info_set_port(self.c_proxyinfo, port) + * + * def set_username(self, char *username): # <<<<<<<<<<<<<< + * if self.c_proxyinfo: + * proxy.c_purple_proxy_info_set_username(self.c_proxyinfo, username) + */ + +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_username(PyObject *__pyx_v_self, PyObject *__pyx_arg_username); /*proto*/ +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_username(PyObject *__pyx_v_self, PyObject *__pyx_arg_username) { + char *__pyx_v_username; + PyObject *__pyx_r; + int __pyx_1; + assert(__pyx_arg_username); { + __pyx_v_username = __Pyx_PyBytes_AsString(__pyx_arg_username); if (unlikely((!__pyx_v_username) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("purple.ProxyInfo.set_username"); + return NULL; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":85 + * + * def set_username(self, char *username): + * if self.c_proxyinfo: # <<<<<<<<<<<<<< + * proxy.c_purple_proxy_info_set_username(self.c_proxyinfo, username) + * + */ + __pyx_1 = (((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":86 + * def set_username(self, char *username): + * if self.c_proxyinfo: + * proxy.c_purple_proxy_info_set_username(self.c_proxyinfo, username) # <<<<<<<<<<<<<< + * + * def set_password(self, char *password): + */ + purple_proxy_info_set_username(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo, __pyx_v_username); + goto __pyx_L5; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":88 + * proxy.c_purple_proxy_info_set_username(self.c_proxyinfo, username) + * + * def set_password(self, char *password): # <<<<<<<<<<<<<< + * if self.c_proxyinfo: + * proxy.c_purple_proxy_info_set_password(self.c_proxyinfo, password) + */ + +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_password(PyObject *__pyx_v_self, PyObject *__pyx_arg_password); /*proto*/ +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_password(PyObject *__pyx_v_self, PyObject *__pyx_arg_password) { + char *__pyx_v_password; + PyObject *__pyx_r; + int __pyx_1; + assert(__pyx_arg_password); { + __pyx_v_password = __Pyx_PyBytes_AsString(__pyx_arg_password); if (unlikely((!__pyx_v_password) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("purple.ProxyInfo.set_password"); + return NULL; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":89 + * + * def set_password(self, char *password): + * if self.c_proxyinfo: # <<<<<<<<<<<<<< + * proxy.c_purple_proxy_info_set_password(self.c_proxyinfo, password) + * + */ + __pyx_1 = (((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":90 + * def set_password(self, char *password): + * if self.c_proxyinfo: + * proxy.c_purple_proxy_info_set_password(self.c_proxyinfo, password) # <<<<<<<<<<<<<< + * + * def get_types(self): + */ + purple_proxy_info_set_password(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo, __pyx_v_password); + goto __pyx_L5; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":92 + * proxy.c_purple_proxy_info_set_password(self.c_proxyinfo, password) + * + * def get_types(self): # <<<<<<<<<<<<<< + * return self.types.keys() + * + */ + +static PyObject *__pyx_pf_6purple_9ProxyInfo_get_types(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_9ProxyInfo_get_types(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":93 + * + * def get_types(self): + * return self.types.keys() # <<<<<<<<<<<<<< + * + * def set_info(self, acc, info): + */ + __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->types, __pyx_kp_keys); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.ProxyInfo.get_types"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":95 + * return self.types.keys() + * + * def set_info(self, acc, info): # <<<<<<<<<<<<<< + * ''' @param acc Tuple (username, protocol id) ''' + * ''' @param info Dictionary {'type': "HTTP", 'port': "1234", ''' + */ + +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6purple_9ProxyInfo_set_info[] = " @param acc Tuple (username, protocol id) "; +static PyObject *__pyx_pf_6purple_9ProxyInfo_set_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_acc = 0; + PyObject *__pyx_v_info = 0; + PurpleAccount *__pyx_v_c_account; + PurpleProxyInfo *__pyx_v_c_proxyinfo; + PyObject *__pyx_v_type; + PyObject *__pyx_v_host; + PyObject *__pyx_v_port; + PyObject *__pyx_v_username; + PyObject *__pyx_v_password; + PyObject *__pyx_r; + PyObject *__pyx_1 = 0; + char *__pyx_2; + char *__pyx_3; + int __pyx_4; + PyObject *__pyx_5 = 0; + PyObject *__pyx_6 = 0; + int __pyx_7; + PurpleProxyType __pyx_8; + int __pyx_9; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_acc,&__pyx_kp_info,0}; + if (unlikely(__pyx_kwds)) { + PyObject* values[2] = {0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_acc); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_info); + if (likely(values[1])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("set_info", 1, 2, 2, 1); {__pyx_filename = __pyx_f[10]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_info") < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_acc = values[0]; + __pyx_v_info = values[1]; + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + __pyx_v_acc = PyTuple_GET_ITEM(__pyx_args, 0); + __pyx_v_info = PyTuple_GET_ITEM(__pyx_args, 1); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("set_info", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[10]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.ProxyInfo.set_info"); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_v_type = Py_None; Py_INCREF(Py_None); + __pyx_v_host = Py_None; Py_INCREF(Py_None); + __pyx_v_port = Py_None; Py_INCREF(Py_None); + __pyx_v_username = Py_None; Py_INCREF(Py_None); + __pyx_v_password = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":102 + * cdef account.PurpleAccount *c_account + * cdef proxy.PurpleProxyInfo *c_proxyinfo + * c_account = account.purple_accounts_find(acc[0], acc[1]) # <<<<<<<<<<<<<< + * + * if c_account == NULL: + */ + __pyx_1 = __Pyx_GetItemInt(__pyx_v_acc, 0, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_1); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = __Pyx_GetItemInt(__pyx_v_acc, 1, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_1); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_v_c_account = purple_accounts_find(__pyx_2, __pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":104 + * c_account = account.purple_accounts_find(acc[0], acc[1]) + * + * if c_account == NULL: # <<<<<<<<<<<<<< + * #FIXME: Message error or call a callback handle to error + * return False + */ + __pyx_4 = (__pyx_v_c_account == NULL); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":106 + * if c_account == NULL: + * #FIXME: Message error or call a callback handle to error + * return False # <<<<<<<<<<<<<< + * + * c_proxyinfo = account.purple_account_get_proxy_info(c_account) + */ + __pyx_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_1; + __pyx_1 = 0; + goto __pyx_L0; + goto __pyx_L6; + } + __pyx_L6:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":108 + * return False + * + * c_proxyinfo = account.purple_account_get_proxy_info(c_account) # <<<<<<<<<<<<<< + * if c_proxyinfo == NULL: + * c_proxyinfo = proxy.c_purple_proxy_info_new() + */ + __pyx_v_c_proxyinfo = purple_account_get_proxy_info(__pyx_v_c_account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":109 + * + * c_proxyinfo = account.purple_account_get_proxy_info(c_account) + * if c_proxyinfo == NULL: # <<<<<<<<<<<<<< + * c_proxyinfo = proxy.c_purple_proxy_info_new() + * account.purple_account_set_proxy_info(c_account, c_proxyinfo) + */ + __pyx_4 = (__pyx_v_c_proxyinfo == NULL); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":110 + * c_proxyinfo = account.purple_account_get_proxy_info(c_account) + * if c_proxyinfo == NULL: + * c_proxyinfo = proxy.c_purple_proxy_info_new() # <<<<<<<<<<<<<< + * account.purple_account_set_proxy_info(c_account, c_proxyinfo) + * + */ + __pyx_v_c_proxyinfo = purple_proxy_info_new(); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":111 + * if c_proxyinfo == NULL: + * c_proxyinfo = proxy.c_purple_proxy_info_new() + * account.purple_account_set_proxy_info(c_account, c_proxyinfo) # <<<<<<<<<<<<<< + * + * if info.has_key('type') and info['type']: + */ + purple_account_set_proxy_info(__pyx_v_c_account, __pyx_v_c_proxyinfo); + goto __pyx_L7; + } + __pyx_L7:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":113 + * account.purple_account_set_proxy_info(c_account, c_proxyinfo) + * + * if info.has_key('type') and info['type']: # <<<<<<<<<<<<<< + * type = info['type'] + * if not type in self.types.keys(): + */ + __pyx_1 = PyObject_GetAttr(__pyx_v_info, __pyx_kp_has_key); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_5 = PyTuple_New(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_433); + PyTuple_SET_ITEM(__pyx_5, 0, __pyx_kp_433); + __pyx_6 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_6); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_6); __pyx_6 = 0; + if (__pyx_4) { + __pyx_1 = PyObject_GetItem(__pyx_v_info, __pyx_kp_434); if (!__pyx_1) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + } + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":114 + * + * if info.has_key('type') and info['type']: + * type = info['type'] # <<<<<<<<<<<<<< + * if not type in self.types.keys(): + * type = 'HTTP' + */ + __pyx_5 = PyObject_GetItem(__pyx_v_info, __pyx_kp_435); if (!__pyx_5) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_type); + __pyx_v_type = __pyx_5; + __pyx_5 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":115 + * if info.has_key('type') and info['type']: + * type = info['type'] + * if not type in self.types.keys(): # <<<<<<<<<<<<<< + * type = 'HTTP' + * proxy.c_purple_proxy_info_set_type(c_proxyinfo, self.types[type]) + */ + __pyx_6 = PyObject_GetAttr(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->types, __pyx_kp_keys); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyObject_Call(__pyx_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_6); __pyx_6 = 0; + __pyx_7 = (PySequence_Contains(__pyx_1, __pyx_v_type)); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_4 = (!__pyx_7); + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":116 + * type = info['type'] + * if not type in self.types.keys(): + * type = 'HTTP' # <<<<<<<<<<<<<< + * proxy.c_purple_proxy_info_set_type(c_proxyinfo, self.types[type]) + * + */ + Py_INCREF(__pyx_kp_436); + Py_DECREF(__pyx_v_type); + __pyx_v_type = __pyx_kp_436; + goto __pyx_L9; + } + __pyx_L9:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":117 + * if not type in self.types.keys(): + * type = 'HTTP' + * proxy.c_purple_proxy_info_set_type(c_proxyinfo, self.types[type]) # <<<<<<<<<<<<<< + * + * if info.has_key('host') and info['host']: + */ + __pyx_5 = PyObject_GetItem(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->types, __pyx_v_type); if (!__pyx_5) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_8 = ((PurpleProxyType)PyInt_AsLong(__pyx_5)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + purple_proxy_info_set_type(__pyx_v_c_proxyinfo, __pyx_8); + goto __pyx_L8; + } + __pyx_L8:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":119 + * proxy.c_purple_proxy_info_set_type(c_proxyinfo, self.types[type]) + * + * if info.has_key('host') and info['host']: # <<<<<<<<<<<<<< + * host = info['host'] + * proxy.c_purple_proxy_info_set_host(c_proxyinfo, host) + */ + __pyx_6 = PyObject_GetAttr(__pyx_v_info, __pyx_kp_has_key); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_437); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_437); + __pyx_5 = PyObject_Call(__pyx_6, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_6); __pyx_6 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + if (__pyx_7) { + __pyx_6 = PyObject_GetItem(__pyx_v_info, __pyx_kp_438); if (!__pyx_6) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_6); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_6); __pyx_6 = 0; + } + if (__pyx_7) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":120 + * + * if info.has_key('host') and info['host']: + * host = info['host'] # <<<<<<<<<<<<<< + * proxy.c_purple_proxy_info_set_host(c_proxyinfo, host) + * + */ + __pyx_1 = PyObject_GetItem(__pyx_v_info, __pyx_kp_439); if (!__pyx_1) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_host); + __pyx_v_host = __pyx_1; + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":121 + * if info.has_key('host') and info['host']: + * host = info['host'] + * proxy.c_purple_proxy_info_set_host(c_proxyinfo, host) # <<<<<<<<<<<<<< + * + * if info.has_key('port') and info['port']: + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_host); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_proxy_info_set_host(__pyx_v_c_proxyinfo, __pyx_2); + goto __pyx_L10; + } + __pyx_L10:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":123 + * proxy.c_purple_proxy_info_set_host(c_proxyinfo, host) + * + * if info.has_key('port') and info['port']: # <<<<<<<<<<<<<< + * port = int(info['port']) + * proxy.c_purple_proxy_info_set_port(c_proxyinfo, port) + */ + __pyx_5 = PyObject_GetAttr(__pyx_v_info, __pyx_kp_has_key); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_6 = PyTuple_New(1); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_440); + PyTuple_SET_ITEM(__pyx_6, 0, __pyx_kp_440); + __pyx_1 = PyObject_Call(__pyx_5, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + if (__pyx_4) { + __pyx_5 = PyObject_GetItem(__pyx_v_info, __pyx_kp_441); if (!__pyx_5) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + } + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":124 + * + * if info.has_key('port') and info['port']: + * port = int(info['port']) # <<<<<<<<<<<<<< + * proxy.c_purple_proxy_info_set_port(c_proxyinfo, port) + * + */ + __pyx_6 = PyObject_GetItem(__pyx_v_info, __pyx_kp_442); if (!__pyx_6) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_6); + __pyx_6 = 0; + __pyx_5 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + Py_DECREF(__pyx_v_port); + __pyx_v_port = __pyx_5; + __pyx_5 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":125 + * if info.has_key('port') and info['port']: + * port = int(info['port']) + * proxy.c_purple_proxy_info_set_port(c_proxyinfo, port) # <<<<<<<<<<<<<< + * + * if info.has_key('username') and info['username']: + */ + __pyx_9 = __pyx_PyInt_int(__pyx_v_port); if (unlikely((__pyx_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_proxy_info_set_port(__pyx_v_c_proxyinfo, __pyx_9); + goto __pyx_L11; + } + __pyx_L11:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":127 + * proxy.c_purple_proxy_info_set_port(c_proxyinfo, port) + * + * if info.has_key('username') and info['username']: # <<<<<<<<<<<<<< + * username = info['username'] + * proxy.c_purple_proxy_info_set_username(c_proxyinfo, username) + */ + __pyx_6 = PyObject_GetAttr(__pyx_v_info, __pyx_kp_has_key); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_443); + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_443); + __pyx_5 = PyObject_Call(__pyx_6, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_6); __pyx_6 = 0; + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + if (__pyx_7) { + __pyx_6 = PyObject_GetItem(__pyx_v_info, __pyx_kp_444); if (!__pyx_6) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_6); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_6); __pyx_6 = 0; + } + if (__pyx_7) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":128 + * + * if info.has_key('username') and info['username']: + * username = info['username'] # <<<<<<<<<<<<<< + * proxy.c_purple_proxy_info_set_username(c_proxyinfo, username) + * + */ + __pyx_1 = PyObject_GetItem(__pyx_v_info, __pyx_kp_445); if (!__pyx_1) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_username); + __pyx_v_username = __pyx_1; + __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":129 + * if info.has_key('username') and info['username']: + * username = info['username'] + * proxy.c_purple_proxy_info_set_username(c_proxyinfo, username) # <<<<<<<<<<<<<< + * + * if info.has_key('password') and info['password']: + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_username); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_proxy_info_set_username(__pyx_v_c_proxyinfo, __pyx_3); + goto __pyx_L12; + } + __pyx_L12:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":131 + * proxy.c_purple_proxy_info_set_username(c_proxyinfo, username) + * + * if info.has_key('password') and info['password']: # <<<<<<<<<<<<<< + * password = info['password'] + * proxy.c_purple_proxy_info_set_password(c_proxyinfo, password) + */ + __pyx_5 = PyObject_GetAttr(__pyx_v_info, __pyx_kp_has_key); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_6 = PyTuple_New(1); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_kp_446); + PyTuple_SET_ITEM(__pyx_6, 0, __pyx_kp_446); + __pyx_1 = PyObject_Call(__pyx_5, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0; + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + if (__pyx_4) { + __pyx_5 = PyObject_GetItem(__pyx_v_info, __pyx_kp_447); if (!__pyx_5) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + } + if (__pyx_4) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":132 + * + * if info.has_key('password') and info['password']: + * password = info['password'] # <<<<<<<<<<<<<< + * proxy.c_purple_proxy_info_set_password(c_proxyinfo, password) + * + */ + __pyx_6 = PyObject_GetItem(__pyx_v_info, __pyx_kp_448); if (!__pyx_6) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_password); + __pyx_v_password = __pyx_6; + __pyx_6 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":133 + * if info.has_key('password') and info['password']: + * password = info['password'] + * proxy.c_purple_proxy_info_set_password(c_proxyinfo, password) # <<<<<<<<<<<<<< + * + * return True + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_password); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_proxy_info_set_password(__pyx_v_c_proxyinfo, __pyx_2); + goto __pyx_L13; + } + __pyx_L13:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":135 + * proxy.c_purple_proxy_info_set_password(c_proxyinfo, password) + * + * return True # <<<<<<<<<<<<<< + */ + __pyx_1 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_1; + __pyx_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_5); + Py_XDECREF(__pyx_6); + __Pyx_AddTraceback("purple.ProxyInfo.set_info"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_type); + Py_DECREF(__pyx_v_host); + Py_DECREF(__pyx_v_port); + Py_DECREF(__pyx_v_username); + Py_DECREF(__pyx_v_password); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":35 + * cdef object __exists + * + * def __init__(self, username, protocol, core): # <<<<<<<<<<<<<< + * self.__username = username + * self.__protocol = protocol + */ + +static int __pyx_pf_6purple_7Account___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pf_6purple_7Account___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_username = 0; + PyObject *__pyx_v_protocol = 0; + PyObject *__pyx_v_core = 0; + int __pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + int __pyx_3; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_username,&__pyx_kp_protocol,&__pyx_kp_core,0}; + if (unlikely(__pyx_kwds)) { + PyObject* values[3] = {0,0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_username); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_protocol); + if (likely(values[1])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[11]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + case 2: + values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_core); + if (likely(values[2])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[11]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_username = values[0]; + __pyx_v_protocol = values[1]; + __pyx_v_core = values[2]; + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + __pyx_v_username = PyTuple_GET_ITEM(__pyx_args, 0); + __pyx_v_protocol = PyTuple_GET_ITEM(__pyx_args, 1); + __pyx_v_core = PyTuple_GET_ITEM(__pyx_args, 2); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[11]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Account.__init__"); + return -1; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":36 + * + * def __init__(self, username, protocol, core): + * self.__username = username # <<<<<<<<<<<<<< + * self.__protocol = protocol + * self.__core = core + */ + Py_INCREF(__pyx_v_username); + Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__username); + ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__username = __pyx_v_username; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":37 + * def __init__(self, username, protocol, core): + * self.__username = username + * self.__protocol = protocol # <<<<<<<<<<<<<< + * self.__core = core + * + */ + Py_INCREF(__pyx_v_protocol); + Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol); + ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol = __pyx_v_protocol; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":38 + * self.__username = username + * self.__protocol = protocol + * self.__core = core # <<<<<<<<<<<<<< + * + * if protocol.exists and self._get_structure() != NULL: + */ + Py_INCREF(__pyx_v_core); + Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core); + ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core = __pyx_v_core; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":40 + * self.__core = core + * + * if protocol.exists and self._get_structure() != NULL: # <<<<<<<<<<<<<< + * self.__exists = True + * else: + */ + __pyx_2 = PyObject_GetAttr(__pyx_v_protocol, __pyx_kp_exists); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (__pyx_1) { + __pyx_1 = (((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)) != NULL); + } + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":41 + * + * if protocol.exists and self._get_structure() != NULL: + * self.__exists = True # <<<<<<<<<<<<<< + * else: + * self.__exists = False + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists = __pyx_2; + __pyx_2 = 0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":43 + * self.__exists = True + * else: + * self.__exists = False # <<<<<<<<<<<<<< + * + * cdef account.PurpleAccount *_get_structure(self): + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists = __pyx_2; + __pyx_2 = 0; + } + __pyx_L6:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__init__"); + __pyx_r = -1; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":45 + * self.__exists = False + * + * cdef account.PurpleAccount *_get_structure(self): # <<<<<<<<<<<<<< + * return account.purple_accounts_find(self.__username, \ + * self.__protocol.id) + */ + +static PurpleAccount *__pyx_f_6purple_7Account__get_structure(struct __pyx_obj_6purple_Account *__pyx_v_self) { + PurpleAccount *__pyx_r; + char *__pyx_1; + PyObject *__pyx_2 = 0; + char *__pyx_3; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":46 + * + * cdef account.PurpleAccount *_get_structure(self): + * return account.purple_accounts_find(self.__username, \ # <<<<<<<<<<<<<< + * self.__protocol.id) + * + */ + __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_self->__username); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":47 + * cdef account.PurpleAccount *_get_structure(self): + * return account.purple_accounts_find(self.__username, \ + * self.__protocol.id) # <<<<<<<<<<<<<< + * + * def __is_connected(self): + */ + __pyx_2 = PyObject_GetAttr(__pyx_v_self->__protocol, __pyx_kp_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_r = purple_accounts_find(__pyx_1, __pyx_3); + goto __pyx_L0; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_WriteUnraisable("purple.Account._get_structure"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":49 + * self.__protocol.id) + * + * def __is_connected(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return account.purple_account_is_connected(self._get_structure()) + */ + +static PyObject *__pyx_pf_6purple_7Account___is_connected(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___is_connected(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":50 + * + * def __is_connected(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return account.purple_account_is_connected(self._get_structure()) + * else: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":51 + * def __is_connected(self): + * if self.__exists: + * return account.purple_account_is_connected(self._get_structure()) # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = PyInt_FromLong(purple_account_is_connected(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":53 + * return account.purple_account_is_connected(self._get_structure()) + * else: + * return None # <<<<<<<<<<<<<< + * is_connected = property(__is_connected) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__is_connected"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":56 + * is_connected = property(__is_connected) + * + * def __is_connecting(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return account.purple_account_is_connecting(self._get_structure()) + */ + +static PyObject *__pyx_pf_6purple_7Account___is_connecting(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___is_connecting(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":57 + * + * def __is_connecting(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return account.purple_account_is_connecting(self._get_structure()) + * else: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":58 + * def __is_connecting(self): + * if self.__exists: + * return account.purple_account_is_connecting(self._get_structure()) # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = PyInt_FromLong(purple_account_is_connecting(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":60 + * return account.purple_account_is_connecting(self._get_structure()) + * else: + * return None # <<<<<<<<<<<<<< + * is_connecting = property(__is_connecting) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__is_connecting"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":63 + * is_connecting = property(__is_connecting) + * + * def __is_disconnected(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return account.purple_account_is_disconnected( \ + */ + +static PyObject *__pyx_pf_6purple_7Account___is_disconnected(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___is_disconnected(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":64 + * + * def __is_disconnected(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return account.purple_account_is_disconnected( \ + * self._get_structure()) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":66 + * if self.__exists: + * return account.purple_account_is_disconnected( \ + * self._get_structure()) # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = PyInt_FromLong(purple_account_is_disconnected(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":68 + * self._get_structure()) + * else: + * return None # <<<<<<<<<<<<<< + * is_disconnected = property(__is_disconnected) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__is_disconnected"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":71 + * is_disconnected = property(__is_disconnected) + * + * def __get_core(self): # <<<<<<<<<<<<<< + * return self.__core + * core = property(__get_core) + */ + +static PyObject *__pyx_pf_6purple_7Account___get_core(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_core(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":72 + * + * def __get_core(self): + * return self.__core # <<<<<<<<<<<<<< + * core = property(__get_core) + * + */ + Py_INCREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core); + __pyx_r = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":75 + * core = property(__get_core) + * + * def __get_exists(self): # <<<<<<<<<<<<<< + * return self.__exists + * exists = property(__get_exists) + */ + +static PyObject *__pyx_pf_6purple_7Account___get_exists(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_exists(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":76 + * + * def __get_exists(self): + * return self.__exists # <<<<<<<<<<<<<< + * exists = property(__get_exists) + * + */ + Py_INCREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); + __pyx_r = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":79 + * exists = property(__get_exists) + * + * def __get_username(self): # <<<<<<<<<<<<<< + * cdef char *username = NULL + * if self.__exists: + */ + +static PyObject *__pyx_pf_6purple_7Account___get_username(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_username(PyObject *__pyx_v_self, PyObject *unused) { + char *__pyx_v_username; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":80 + * + * def __get_username(self): + * cdef char *username = NULL # <<<<<<<<<<<<<< + * if self.__exists: + * username = account.purple_account_get_username( \ + */ + __pyx_v_username = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":81 + * def __get_username(self): + * cdef char *username = NULL + * if self.__exists: # <<<<<<<<<<<<<< + * username = account.purple_account_get_username( \ + * self._get_structure()) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":83 + * if self.__exists: + * username = account.purple_account_get_username( \ + * self._get_structure()) # <<<<<<<<<<<<<< + * if username: + * return username + */ + __pyx_v_username = ((char *)purple_account_get_username(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":84 + * username = account.purple_account_get_username( \ + * self._get_structure()) + * if username: # <<<<<<<<<<<<<< + * return username + * else: + */ + __pyx_1 = (__pyx_v_username != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":85 + * self._get_structure()) + * if username: + * return username # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":87 + * return username + * else: + * return None # <<<<<<<<<<<<<< + * else: + * return self.__username + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L6:; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":89 + * return None + * else: + * return self.__username # <<<<<<<<<<<<<< + * username = property(__get_username) + * + */ + Py_INCREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__username); + __pyx_r = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__username; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__get_username"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":92 + * username = property(__get_username) + * + * def __get_protocol(self): # <<<<<<<<<<<<<< + * return self.__protocol + * protocol = property(__get_protocol) + */ + +static PyObject *__pyx_pf_6purple_7Account___get_protocol(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_protocol(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":93 + * + * def __get_protocol(self): + * return self.__protocol # <<<<<<<<<<<<<< + * protocol = property(__get_protocol) + * + */ + Py_INCREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol); + __pyx_r = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":96 + * protocol = property(__get_protocol) + * + * def _get_protocol_options(self): # <<<<<<<<<<<<<< + * """ + * @return Dictionary {'setting': value, ...} + */ + +static PyObject *__pyx_pf_6purple_7Account__get_protocol_options(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static char __pyx_doc_6purple_7Account__get_protocol_options[] = "\n @return Dictionary {'setting': value, ...}\n "; +static PyObject *__pyx_pf_6purple_7Account__get_protocol_options(PyObject *__pyx_v_self, PyObject *unused) { + GList *__pyx_v_iter; + PurpleAccount *__pyx_v_c_account; + PurplePlugin *__pyx_v_c_plugin; + PurplePluginProtocolInfo *__pyx_v_prpl_info; + PurpleAccountOption *__pyx_v_option; + PurplePrefType __pyx_v_type; + char *__pyx_v_label_name; + char *__pyx_v_str_value; + char *__pyx_v_setting; + int __pyx_v_int_value; + gboolean __pyx_v_bool_value; + PyObject *__pyx_v_po; + PyObject *__pyx_v_sett; + PyObject *__pyx_v_val; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + char *__pyx_3; + PyObject *__pyx_4 = 0; + __pyx_v_po = Py_None; Py_INCREF(Py_None); + __pyx_v_sett = Py_None; Py_INCREF(Py_None); + __pyx_v_val = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":112 + * cdef glib.gboolean bool_value + * + * c_account = self._get_structure() # <<<<<<<<<<<<<< + * + * if c_account == NULL: + */ + __pyx_v_c_account = ((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":114 + * c_account = self._get_structure() + * + * if c_account == NULL: # <<<<<<<<<<<<<< + * return None + * + */ + __pyx_1 = (__pyx_v_c_account == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":115 + * + * if c_account == NULL: + * return None # <<<<<<<<<<<<<< + * + * po = {} + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + goto __pyx_L5; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":117 + * return None + * + * po = {} # <<<<<<<<<<<<<< + * + * c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id) + */ + __pyx_2 = PyDict_New(); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_po); + __pyx_v_po = ((PyObject *)__pyx_2); + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":119 + * po = {} + * + * c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id) # <<<<<<<<<<<<<< + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin) + * iter = prpl_info.protocol_options + */ + __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol, __pyx_kp_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_v_c_plugin = purple_plugins_find_with_id(__pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":120 + * + * c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id) + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin) # <<<<<<<<<<<<<< + * iter = prpl_info.protocol_options + * + */ + __pyx_v_prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(__pyx_v_c_plugin); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":121 + * c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id) + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin) + * iter = prpl_info.protocol_options # <<<<<<<<<<<<<< + * + * while iter: + */ + __pyx_v_iter = __pyx_v_prpl_info->protocol_options; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":123 + * iter = prpl_info.protocol_options + * + * while iter: # <<<<<<<<<<<<<< + * + * option = iter.data + */ + while (1) { + __pyx_1 = (__pyx_v_iter != 0); + if (!__pyx_1) break; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":125 + * while iter: + * + * option = iter.data # <<<<<<<<<<<<<< + * type = accountopt.purple_account_option_get_type(option) + * label_name = accountopt.purple_account_option_get_text(option) + */ + __pyx_v_option = ((PurpleAccountOption *)__pyx_v_iter->data); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":126 + * + * option = iter.data + * 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) + */ + __pyx_v_type = purple_account_option_get_type(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":127 + * option = iter.data + * 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) + * + */ + __pyx_v_label_name = ((char *)purple_account_option_get_text(__pyx_v_option)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":128 + * 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) + */ + __pyx_v_setting = ((char *)purple_account_option_get_setting(__pyx_v_option)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":130 + * setting = accountopt.purple_account_option_get_setting(option) + * + * sett = str( setting) # <<<<<<<<<<<<<< + * + * if type == prefs.PURPLE_PREF_STRING: + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_setting)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_v_sett); + __pyx_v_sett = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":132 + * sett = str( setting) + * + * if type == prefs.PURPLE_PREF_STRING: # <<<<<<<<<<<<<< + * + * str_value = accountopt.purple_account_option_get_default_string(option) + */ + __pyx_1 = (__pyx_v_type == PURPLE_PREF_STRING); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":134 + * if type == prefs.PURPLE_PREF_STRING: + * + * str_value = accountopt.purple_account_option_get_default_string(option) # <<<<<<<<<<<<<< + * + * # Hack to set string "" as default value to Account options when + */ + __pyx_v_str_value = ((char *)purple_account_option_get_default_string(__pyx_v_option)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":138 + * # Hack to set string "" as default value to Account options when + * # the default value of the protocol is NULL + * if str_value == NULL: # <<<<<<<<<<<<<< + * str_value = "" + * str_value = account.purple_account_get_string(c_account, setting, str_value) + */ + __pyx_1 = (__pyx_v_str_value == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":139 + * # the default value of the protocol is NULL + * if str_value == NULL: + * str_value = "" # <<<<<<<<<<<<<< + * str_value = account.purple_account_get_string(c_account, setting, str_value) + * + */ + __pyx_v_str_value = __pyx_k_449; + goto __pyx_L9; + } + __pyx_L9:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":140 + * if str_value == NULL: + * str_value = "" + * str_value = account.purple_account_get_string(c_account, setting, str_value) # <<<<<<<<<<<<<< + * + * val = str( str_value) + */ + __pyx_v_str_value = ((char *)purple_account_get_string(__pyx_v_c_account, __pyx_v_setting, __pyx_v_str_value)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":142 + * str_value = account.purple_account_get_string(c_account, setting, str_value) + * + * val = str( str_value) # <<<<<<<<<<<<<< + * + * elif type == prefs.PURPLE_PREF_INT: + */ + __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_str_value)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4); + __pyx_4 = 0; + __pyx_4 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + Py_DECREF(__pyx_v_val); + __pyx_v_val = __pyx_4; + __pyx_4 = 0; + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":144 + * val = str( str_value) + * + * elif type == prefs.PURPLE_PREF_INT: # <<<<<<<<<<<<<< + * + * int_value = accountopt.purple_account_option_get_default_int(option) + */ + __pyx_1 = (__pyx_v_type == PURPLE_PREF_INT); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":146 + * elif type == prefs.PURPLE_PREF_INT: + * + * int_value = accountopt.purple_account_option_get_default_int(option) # <<<<<<<<<<<<<< + * int_value = account.purple_account_get_int(c_account, setting, int_value) + * + */ + __pyx_v_int_value = purple_account_option_get_default_int(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":147 + * + * int_value = accountopt.purple_account_option_get_default_int(option) + * int_value = account.purple_account_get_int(c_account, setting, int_value) # <<<<<<<<<<<<<< + * + * val = int(int_value) + */ + __pyx_v_int_value = purple_account_get_int(__pyx_v_c_account, __pyx_v_setting, __pyx_v_int_value); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":149 + * int_value = account.purple_account_get_int(c_account, setting, int_value) + * + * val = int(int_value) # <<<<<<<<<<<<<< + * + * elif type == prefs.PURPLE_PREF_BOOLEAN: + */ + __pyx_2 = PyInt_FromLong(__pyx_v_int_value); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_v_val); + __pyx_v_val = __pyx_2; + __pyx_2 = 0; + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":151 + * val = int(int_value) + * + * elif type == prefs.PURPLE_PREF_BOOLEAN: # <<<<<<<<<<<<<< + * + * bool_value = accountopt.purple_account_option_get_default_bool(option) + */ + __pyx_1 = (__pyx_v_type == PURPLE_PREF_BOOLEAN); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":153 + * elif type == prefs.PURPLE_PREF_BOOLEAN: + * + * bool_value = accountopt.purple_account_option_get_default_bool(option) # <<<<<<<<<<<<<< + * bool_value = account.purple_account_get_bool(c_account, setting, bool_value) + * + */ + __pyx_v_bool_value = purple_account_option_get_default_bool(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":154 + * + * bool_value = accountopt.purple_account_option_get_default_bool(option) + * bool_value = account.purple_account_get_bool(c_account, setting, bool_value) # <<<<<<<<<<<<<< + * + * val = bool(bool_value) + */ + __pyx_v_bool_value = purple_account_get_bool(__pyx_v_c_account, __pyx_v_setting, __pyx_v_bool_value); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":156 + * bool_value = account.purple_account_get_bool(c_account, setting, bool_value) + * + * val = bool(bool_value) # <<<<<<<<<<<<<< + * + * elif type == prefs.PURPLE_PREF_STRING_LIST: + */ + __pyx_4 = PyInt_FromLong(__pyx_v_bool_value); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4); + __pyx_4 = 0; + __pyx_4 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + Py_DECREF(__pyx_v_val); + __pyx_v_val = __pyx_4; + __pyx_4 = 0; + goto __pyx_L8; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":158 + * val = bool(bool_value) + * + * elif type == prefs.PURPLE_PREF_STRING_LIST: # <<<<<<<<<<<<<< + * + * str_value = accountopt.purple_account_option_get_default_list_value(option) + */ + __pyx_1 = (__pyx_v_type == PURPLE_PREF_STRING_LIST); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":160 + * elif type == prefs.PURPLE_PREF_STRING_LIST: + * + * str_value = accountopt.purple_account_option_get_default_list_value(option) # <<<<<<<<<<<<<< + * str_value = account.purple_account_get_string(c_account, setting, str_value) + * + */ + __pyx_v_str_value = ((char *)purple_account_option_get_default_list_value(__pyx_v_option)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":161 + * + * str_value = accountopt.purple_account_option_get_default_list_value(option) + * str_value = account.purple_account_get_string(c_account, setting, str_value) # <<<<<<<<<<<<<< + * + * val = str( str_value) + */ + __pyx_v_str_value = ((char *)purple_account_get_string(__pyx_v_c_account, __pyx_v_setting, __pyx_v_str_value)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":163 + * str_value = account.purple_account_get_string(c_account, setting, str_value) + * + * val = str( str_value) # <<<<<<<<<<<<<< + * + * iter = iter.next + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_str_value)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_v_val); + __pyx_v_val = __pyx_2; + __pyx_2 = 0; + goto __pyx_L8; + } + __pyx_L8:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":165 + * val = str( str_value) + * + * iter = iter.next # <<<<<<<<<<<<<< + * + * po[sett] = val + */ + __pyx_v_iter = __pyx_v_iter->next; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":167 + * iter = iter.next + * + * po[sett] = val # <<<<<<<<<<<<<< + * + * return po + */ + if (PyObject_SetItem(__pyx_v_po, __pyx_v_sett, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":169 + * po[sett] = val + * + * return po # <<<<<<<<<<<<<< + * protocol_options = property(_get_protocol_options) + * + */ + Py_INCREF(__pyx_v_po); + __pyx_r = __pyx_v_po; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Account._get_protocol_options"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_po); + Py_DECREF(__pyx_v_sett); + Py_DECREF(__pyx_v_val); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":172 + * protocol_options = property(_get_protocol_options) + * + * def __get_password(self): # <<<<<<<<<<<<<< + * cdef char *password = NULL + * if self.__exists: + */ + +static PyObject *__pyx_pf_6purple_7Account___get_password(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_password(PyObject *__pyx_v_self, PyObject *unused) { + char *__pyx_v_password; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":173 + * + * def __get_password(self): + * cdef char *password = NULL # <<<<<<<<<<<<<< + * if self.__exists: + * password = account.purple_account_get_password( \ + */ + __pyx_v_password = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":174 + * def __get_password(self): + * cdef char *password = NULL + * if self.__exists: # <<<<<<<<<<<<<< + * password = account.purple_account_get_password( \ + * self._get_structure()) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":176 + * if self.__exists: + * password = account.purple_account_get_password( \ + * self._get_structure()) # <<<<<<<<<<<<<< + * if password: + * return password + */ + __pyx_v_password = ((char *)purple_account_get_password(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":177 + * password = account.purple_account_get_password( \ + * self._get_structure()) + * if password: # <<<<<<<<<<<<<< + * return password + * else: + */ + __pyx_1 = (__pyx_v_password != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":178 + * self._get_structure()) + * if password: + * return password # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_password); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":180 + * return password + * else: + * return None # <<<<<<<<<<<<<< + * else: + * return None + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L6:; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":182 + * return None + * else: + * return None # <<<<<<<<<<<<<< + * password = property(__get_password) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__get_password"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":185 + * password = property(__get_password) + * + * def __get_alias(self): # <<<<<<<<<<<<<< + * cdef char *alias = NULL + * if self.__exists: + */ + +static PyObject *__pyx_pf_6purple_7Account___get_alias(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_alias(PyObject *__pyx_v_self, PyObject *unused) { + char *__pyx_v_alias; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":186 + * + * def __get_alias(self): + * cdef char *alias = NULL # <<<<<<<<<<<<<< + * if self.__exists: + * alias = account.purple_account_get_alias(self._get_structure()) + */ + __pyx_v_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":187 + * def __get_alias(self): + * cdef char *alias = NULL + * if self.__exists: # <<<<<<<<<<<<<< + * alias = account.purple_account_get_alias(self._get_structure()) + * if alias: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":188 + * cdef char *alias = NULL + * if self.__exists: + * alias = account.purple_account_get_alias(self._get_structure()) # <<<<<<<<<<<<<< + * if alias: + * return alias + */ + __pyx_v_alias = ((char *)purple_account_get_alias(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":189 + * if self.__exists: + * alias = account.purple_account_get_alias(self._get_structure()) + * if alias: # <<<<<<<<<<<<<< + * return alias + * else: + */ + __pyx_1 = (__pyx_v_alias != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":190 + * alias = account.purple_account_get_alias(self._get_structure()) + * if alias: + * return alias # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":192 + * return alias + * else: + * return None # <<<<<<<<<<<<<< + * else: + * return None + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L6:; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":194 + * return None + * else: + * return None # <<<<<<<<<<<<<< + * alias = property(__get_alias) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__get_alias"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":197 + * alias = property(__get_alias) + * + * def __get_user_info(self): # <<<<<<<<<<<<<< + * cdef char *user_info = NULL + * if self.__exists: + */ + +static PyObject *__pyx_pf_6purple_7Account___get_user_info(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_user_info(PyObject *__pyx_v_self, PyObject *unused) { + char *__pyx_v_user_info; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":198 + * + * def __get_user_info(self): + * cdef char *user_info = NULL # <<<<<<<<<<<<<< + * if self.__exists: + * user_info = account.purple_account_get_user_info(self._get_structure()) + */ + __pyx_v_user_info = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":199 + * def __get_user_info(self): + * cdef char *user_info = NULL + * if self.__exists: # <<<<<<<<<<<<<< + * user_info = account.purple_account_get_user_info(self._get_structure()) + * if user_info: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":200 + * cdef char *user_info = NULL + * if self.__exists: + * user_info = account.purple_account_get_user_info(self._get_structure()) # <<<<<<<<<<<<<< + * if user_info: + * return user_info + */ + __pyx_v_user_info = ((char *)purple_account_get_user_info(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":201 + * if self.__exists: + * user_info = account.purple_account_get_user_info(self._get_structure()) + * if user_info: # <<<<<<<<<<<<<< + * return user_info + * else: + */ + __pyx_1 = (__pyx_v_user_info != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":202 + * user_info = account.purple_account_get_user_info(self._get_structure()) + * if user_info: + * return user_info # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_user_info); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":204 + * return user_info + * else: + * return None # <<<<<<<<<<<<<< + * else: + * return None + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L6:; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":206 + * return None + * else: + * return None # <<<<<<<<<<<<<< + * user_info = property(__get_user_info) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__get_user_info"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":209 + * user_info = property(__get_user_info) + * + * def __get_remember_password(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return account.purple_account_get_remember_password( \ + */ + +static PyObject *__pyx_pf_6purple_7Account___get_remember_password(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_remember_password(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":210 + * + * def __get_remember_password(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return account.purple_account_get_remember_password( \ + * self._get_structure()) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":212 + * if self.__exists: + * return account.purple_account_get_remember_password( \ + * self._get_structure()) # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = PyInt_FromLong(purple_account_get_remember_password(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":214 + * self._get_structure()) + * else: + * return None # <<<<<<<<<<<<<< + * remember_password = property(__get_remember_password) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__get_remember_password"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":217 + * remember_password = property(__get_remember_password) + * + * def __get_enabled(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return account.purple_account_get_enabled(self._get_structure(), \ + */ + +static PyObject *__pyx_pf_6purple_7Account___get_enabled(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_enabled(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + char *__pyx_3; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":218 + * + * def __get_enabled(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return account.purple_account_get_enabled(self._get_structure(), \ + * self.__core.ui_name) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":220 + * if self.__exists: + * return account.purple_account_get_enabled(self._get_structure(), \ + * self.__core.ui_name) # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core, __pyx_kp_ui_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyInt_FromLong(purple_account_get_enabled(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":222 + * self.__core.ui_name) + * else: + * return None # <<<<<<<<<<<<<< + * enabled = property(__get_enabled) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__get_enabled"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":225 + * enabled = property(__get_enabled) + * + * def __get_status_types(self): # <<<<<<<<<<<<<< + * cdef glib.GList *iter = NULL + * cdef status.PurpleStatusType *c_statustype = NULL + */ + +static PyObject *__pyx_pf_6purple_7Account___get_status_types(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_status_types(PyObject *__pyx_v_self, PyObject *unused) { + GList *__pyx_v_iter; + PurpleStatusType *__pyx_v_c_statustype; + char *__pyx_v_id; + char *__pyx_v_name; + PyObject *__pyx_v_status_types; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + __pyx_v_status_types = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":226 + * + * def __get_status_types(self): + * cdef glib.GList *iter = NULL # <<<<<<<<<<<<<< + * cdef status.PurpleStatusType *c_statustype = NULL + * cdef char *id = NULL + */ + __pyx_v_iter = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":227 + * def __get_status_types(self): + * cdef glib.GList *iter = NULL + * cdef status.PurpleStatusType *c_statustype = NULL # <<<<<<<<<<<<<< + * cdef char *id = NULL + * cdef char *name = NULL + */ + __pyx_v_c_statustype = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":228 + * cdef glib.GList *iter = NULL + * cdef status.PurpleStatusType *c_statustype = NULL + * cdef char *id = NULL # <<<<<<<<<<<<<< + * cdef char *name = NULL + * + */ + __pyx_v_id = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":229 + * cdef status.PurpleStatusType *c_statustype = NULL + * cdef char *id = NULL + * cdef char *name = NULL # <<<<<<<<<<<<<< + * + * if self.__exists: + */ + __pyx_v_name = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":231 + * cdef char *name = NULL + * + * if self.__exists: # <<<<<<<<<<<<<< + * status_types = [] + * iter = account.purple_account_get_status_types(self._get_structure()) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":232 + * + * if self.__exists: + * status_types = [] # <<<<<<<<<<<<<< + * iter = account.purple_account_get_status_types(self._get_structure()) + * while iter: + */ + __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_status_types); + __pyx_v_status_types = ((PyObject *)__pyx_2); + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":233 + * if self.__exists: + * status_types = [] + * iter = account.purple_account_get_status_types(self._get_structure()) # <<<<<<<<<<<<<< + * while iter: + * c_statustype = iter.data + */ + __pyx_v_iter = purple_account_get_status_types(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":234 + * status_types = [] + * iter = account.purple_account_get_status_types(self._get_structure()) + * while iter: # <<<<<<<<<<<<<< + * c_statustype = iter.data + * id = status.purple_status_type_get_id(c_statustype) + */ + while (1) { + __pyx_1 = (__pyx_v_iter != 0); + if (!__pyx_1) break; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":235 + * iter = account.purple_account_get_status_types(self._get_structure()) + * while iter: + * c_statustype = iter.data # <<<<<<<<<<<<<< + * id = status.purple_status_type_get_id(c_statustype) + * name = status.purple_status_type_get_name(c_statustype) + */ + __pyx_v_c_statustype = ((PurpleStatusType *)__pyx_v_iter->data); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":236 + * while iter: + * c_statustype = iter.data + * id = status.purple_status_type_get_id(c_statustype) # <<<<<<<<<<<<<< + * name = status.purple_status_type_get_name(c_statustype) + * status_types.append((id, name)) + */ + __pyx_v_id = ((char *)purple_status_type_get_id(__pyx_v_c_statustype)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":237 + * c_statustype = iter.data + * id = status.purple_status_type_get_id(c_statustype) + * name = status.purple_status_type_get_name(c_statustype) # <<<<<<<<<<<<<< + * status_types.append((id, name)) + * iter = iter.next + */ + __pyx_v_name = ((char *)purple_status_type_get_name(__pyx_v_c_statustype)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":238 + * id = status.purple_status_type_get_id(c_statustype) + * name = status.purple_status_type_get_name(c_statustype) + * status_types.append((id, name)) # <<<<<<<<<<<<<< + * iter = iter.next + * return status_types + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2); + PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3); + __pyx_2 = 0; + __pyx_3 = 0; + __pyx_2 = __Pyx_PyObject_Append(__pyx_v_status_types, ((PyObject *)__pyx_4)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":239 + * name = status.purple_status_type_get_name(c_statustype) + * status_types.append((id, name)) + * iter = iter.next # <<<<<<<<<<<<<< + * return status_types + * else: + */ + __pyx_v_iter = __pyx_v_iter->next; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":240 + * status_types.append((id, name)) + * iter = iter.next + * return status_types # <<<<<<<<<<<<<< + * else: + * return None + */ + Py_INCREF(__pyx_v_status_types); + __pyx_r = __pyx_v_status_types; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":242 + * return status_types + * else: + * return None # <<<<<<<<<<<<<< + * + * status_types = property(__get_status_types) + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Account.__get_status_types"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_status_types); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":246 + * status_types = property(__get_status_types) + * + * def __get_active_status(self): # <<<<<<<<<<<<<< + * cdef status.PurpleStatus* c_status = NULL + * cdef char *type = NULL + */ + +static PyObject *__pyx_pf_6purple_7Account___get_active_status(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account___get_active_status(PyObject *__pyx_v_self, PyObject *unused) { + PurpleStatus *__pyx_v_c_status; + char *__pyx_v_type; + char *__pyx_v_name; + char *__pyx_v_msg; + PyObject *__pyx_v_active; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + __pyx_v_active = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":247 + * + * def __get_active_status(self): + * cdef status.PurpleStatus* c_status = NULL # <<<<<<<<<<<<<< + * cdef char *type = NULL + * cdef char *name = NULL + */ + __pyx_v_c_status = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":248 + * def __get_active_status(self): + * cdef status.PurpleStatus* c_status = NULL + * cdef char *type = NULL # <<<<<<<<<<<<<< + * cdef char *name = NULL + * cdef char *msg = NULL + */ + __pyx_v_type = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":249 + * cdef status.PurpleStatus* c_status = NULL + * cdef char *type = NULL + * cdef char *name = NULL # <<<<<<<<<<<<<< + * cdef char *msg = NULL + * if self.__exists: + */ + __pyx_v_name = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":250 + * cdef char *type = NULL + * cdef char *name = NULL + * cdef char *msg = NULL # <<<<<<<<<<<<<< + * if self.__exists: + * active = {} + */ + __pyx_v_msg = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":251 + * cdef char *name = NULL + * cdef char *msg = NULL + * if self.__exists: # <<<<<<<<<<<<<< + * active = {} + * c_status = account.purple_account_get_active_status(self._get_structure()) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":252 + * cdef char *msg = NULL + * if self.__exists: + * active = {} # <<<<<<<<<<<<<< + * c_status = account.purple_account_get_active_status(self._get_structure()) + * type = status.purple_status_get_id(c_status) + */ + __pyx_2 = PyDict_New(); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_active); + __pyx_v_active = ((PyObject *)__pyx_2); + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":253 + * if self.__exists: + * active = {} + * c_status = account.purple_account_get_active_status(self._get_structure()) # <<<<<<<<<<<<<< + * type = status.purple_status_get_id(c_status) + * name = status.purple_status_get_name(c_status) + */ + __pyx_v_c_status = ((PurpleStatus *)purple_account_get_active_status(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":254 + * active = {} + * c_status = account.purple_account_get_active_status(self._get_structure()) + * type = status.purple_status_get_id(c_status) # <<<<<<<<<<<<<< + * name = status.purple_status_get_name(c_status) + * msg = status.purple_status_get_attr_string(c_status, + */ + __pyx_v_type = ((char *)purple_status_get_id(__pyx_v_c_status)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":255 + * c_status = account.purple_account_get_active_status(self._get_structure()) + * type = status.purple_status_get_id(c_status) + * name = status.purple_status_get_name(c_status) # <<<<<<<<<<<<<< + * msg = status.purple_status_get_attr_string(c_status, + * "message") + */ + __pyx_v_name = ((char *)purple_status_get_name(__pyx_v_c_status)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":257 + * name = status.purple_status_get_name(c_status) + * msg = status.purple_status_get_attr_string(c_status, + * "message") # <<<<<<<<<<<<<< + * + * active['type'] = type + */ + __pyx_v_msg = ((char *)purple_status_get_attr_string(__pyx_v_c_status, __pyx_k_450)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":259 + * "message") + * + * active['type'] = type # <<<<<<<<<<<<<< + * active['name'] = name + * if msg: + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetItem(__pyx_v_active, __pyx_kp_451, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":260 + * + * active['type'] = type + * active['name'] = name # <<<<<<<<<<<<<< + * if msg: + * active['message'] = msg + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetItem(__pyx_v_active, __pyx_kp_452, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":261 + * active['type'] = type + * active['name'] = name + * if msg: # <<<<<<<<<<<<<< + * active['message'] = msg + * + */ + __pyx_1 = (__pyx_v_msg != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":262 + * active['name'] = name + * if msg: + * active['message'] = msg # <<<<<<<<<<<<<< + * + * return active + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_msg); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetItem(__pyx_v_active, __pyx_kp_453, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L6; + } + __pyx_L6:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":264 + * active['message'] = msg + * + * return active # <<<<<<<<<<<<<< + * else: + * return None + */ + Py_INCREF(__pyx_v_active); + __pyx_r = __pyx_v_active; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":266 + * return active + * else: + * return None # <<<<<<<<<<<<<< + * active_status = property(__get_active_status) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.__get_active_status"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_active); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":269 + * active_status = property(__get_active_status) + * + * def set_username(self, username): # <<<<<<<<<<<<<< + * """ + * Sets the account's username. + */ + +static PyObject *__pyx_pf_6purple_7Account_set_username(PyObject *__pyx_v_self, PyObject *__pyx_v_username); /*proto*/ +static char __pyx_doc_6purple_7Account_set_username[] = "\n Sets the account's username.\n\n @param username The username\n @return True if successful, False if account doesn't exists\n "; +static PyObject *__pyx_pf_6purple_7Account_set_username(PyObject *__pyx_v_self, PyObject *__pyx_v_username) { + PyObject *__pyx_r; + int __pyx_1; + char *__pyx_2; + PyObject *__pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":276 + * @return True if successful, False if account doesn't exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * account.purple_account_set_username(self._get_structure(), \ + * username) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":278 + * if self.__exists: + * account.purple_account_set_username(self._get_structure(), \ + * username) # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_username); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_account_set_username(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":279 + * account.purple_account_set_username(self._get_structure(), \ + * username) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_3 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":281 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def set_protocol(self, protocol): + */ + __pyx_3 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + __Pyx_AddTraceback("purple.Account.set_username"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":283 + * return False + * + * def set_protocol(self, protocol): # <<<<<<<<<<<<<< + * """ + * Sets the account's protocol. + */ + +static PyObject *__pyx_pf_6purple_7Account_set_protocol(PyObject *__pyx_v_self, PyObject *__pyx_v_protocol); /*proto*/ +static char __pyx_doc_6purple_7Account_set_protocol[] = "\n Sets the account's protocol.\n\n @param protocol A Protocol class instance\n @return True if successful, False if account doesn't exists\n "; +static PyObject *__pyx_pf_6purple_7Account_set_protocol(PyObject *__pyx_v_self, PyObject *__pyx_v_protocol) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + int __pyx_3; + char *__pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":290 + * @return True if successful, False if account doesn't exists + * """ + * if protocol.exists and self.__exists: # <<<<<<<<<<<<<< + * account.purple_account_set_protocol_id(self._get_structure(), \ + * protocol.id) + */ + __pyx_2 = PyObject_GetAttr(__pyx_v_protocol, __pyx_kp_exists); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (__pyx_1) { + __pyx_3 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_3 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __pyx_3; + } + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":292 + * if protocol.exists and self.__exists: + * account.purple_account_set_protocol_id(self._get_structure(), \ + * protocol.id) # <<<<<<<<<<<<<< + * self.__protocol = protocol + * return True + */ + __pyx_2 = PyObject_GetAttr(__pyx_v_protocol, __pyx_kp_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + purple_account_set_protocol_id(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_4); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":293 + * account.purple_account_set_protocol_id(self._get_structure(), \ + * protocol.id) + * self.__protocol = protocol # <<<<<<<<<<<<<< + * return True + * else: + */ + Py_INCREF(__pyx_v_protocol); + Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol); + ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol = __pyx_v_protocol; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":294 + * protocol.id) + * self.__protocol = protocol + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":296 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def set_protocol_options(self, po): + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.set_protocol"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":298 + * return False + * + * def set_protocol_options(self, po): # <<<<<<<<<<<<<< + * """ + * @param po Dictionary {'setting': value, ...} options to be updated + */ + +static PyObject *__pyx_pf_6purple_7Account_set_protocol_options(PyObject *__pyx_v_self, PyObject *__pyx_v_po); /*proto*/ +static char __pyx_doc_6purple_7Account_set_protocol_options[] = "\n @param po Dictionary {'setting': value, ...} options to be updated\n @return True to success or False to failure\n "; +static PyObject *__pyx_pf_6purple_7Account_set_protocol_options(PyObject *__pyx_v_self, PyObject *__pyx_v_po) { + GList *__pyx_v_iter; + PurpleAccount *__pyx_v_c_account; + PurplePlugin *__pyx_v_c_plugin; + PurplePluginProtocolInfo *__pyx_v_prpl_info; + PurpleAccountOption *__pyx_v_option; + PurplePrefType __pyx_v_type; + char *__pyx_v_str_value; + char *__pyx_v_setting; + int __pyx_v_int_value; + gboolean __pyx_v_bool_value; + PyObject *__pyx_v_sett; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + char *__pyx_3; + PyObject *__pyx_4 = 0; + PyObject *__pyx_5 = 0; + int __pyx_6; + int __pyx_7; + gboolean __pyx_8; + __pyx_v_sett = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":314 + * cdef glib.gboolean bool_value + * + * c_account = self._get_structure() # <<<<<<<<<<<<<< + * + * if c_account == NULL: + */ + __pyx_v_c_account = ((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":316 + * c_account = self._get_structure() + * + * if c_account == NULL: # <<<<<<<<<<<<<< + * return False + * + */ + __pyx_1 = (__pyx_v_c_account == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":317 + * + * if c_account == NULL: + * return False # <<<<<<<<<<<<<< + * + * c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id) + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + __pyx_L5:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":319 + * return False + * + * c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id) # <<<<<<<<<<<<<< + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin) + * iter = prpl_info.protocol_options + */ + __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol, __pyx_kp_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_v_c_plugin = purple_plugins_find_with_id(__pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":320 + * + * c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id) + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin) # <<<<<<<<<<<<<< + * iter = prpl_info.protocol_options + * + */ + __pyx_v_prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(__pyx_v_c_plugin); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":321 + * c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id) + * prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin) + * iter = prpl_info.protocol_options # <<<<<<<<<<<<<< + * + * while iter: + */ + __pyx_v_iter = __pyx_v_prpl_info->protocol_options; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":323 + * iter = prpl_info.protocol_options + * + * while iter: # <<<<<<<<<<<<<< + * + * option = iter.data + */ + while (1) { + __pyx_1 = (__pyx_v_iter != 0); + if (!__pyx_1) break; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":325 + * while iter: + * + * option = iter.data # <<<<<<<<<<<<<< + * type = accountopt.purple_account_option_get_type(option) + * setting = accountopt.purple_account_option_get_setting(option) + */ + __pyx_v_option = ((PurpleAccountOption *)__pyx_v_iter->data); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":326 + * + * option = iter.data + * type = accountopt.purple_account_option_get_type(option) # <<<<<<<<<<<<<< + * setting = accountopt.purple_account_option_get_setting(option) + * + */ + __pyx_v_type = purple_account_option_get_type(__pyx_v_option); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":327 + * option = iter.data + * type = accountopt.purple_account_option_get_type(option) + * setting = accountopt.purple_account_option_get_setting(option) # <<<<<<<<<<<<<< + * + * sett = str( setting) + */ + __pyx_v_setting = ((char *)purple_account_option_get_setting(__pyx_v_option)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":329 + * setting = accountopt.purple_account_option_get_setting(option) + * + * sett = str( setting) # <<<<<<<<<<<<<< + * + * if not po.has_key(sett): + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_setting)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0; + Py_DECREF(__pyx_v_sett); + __pyx_v_sett = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":331 + * sett = str( setting) + * + * if not po.has_key(sett): # <<<<<<<<<<<<<< + * iter = iter.next + * continue + */ + __pyx_4 = PyObject_GetAttr(__pyx_v_po, __pyx_kp_has_key); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_sett); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_sett); + __pyx_5 = PyObject_Call(__pyx_4, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + __pyx_6 = (!__pyx_1); + if (__pyx_6) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":332 + * + * if not po.has_key(sett): + * iter = iter.next # <<<<<<<<<<<<<< + * continue + * + */ + __pyx_v_iter = __pyx_v_iter->next; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":333 + * if not po.has_key(sett): + * iter = iter.next + * continue # <<<<<<<<<<<<<< + * + * if type == prefs.PURPLE_PREF_STRING: + */ + goto __pyx_L6; + goto __pyx_L8; + } + __pyx_L8:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":335 + * continue + * + * if type == prefs.PURPLE_PREF_STRING: # <<<<<<<<<<<<<< + * + * str_value = po[sett] + */ + __pyx_1 = (__pyx_v_type == PURPLE_PREF_STRING); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":337 + * if type == prefs.PURPLE_PREF_STRING: + * + * str_value = po[sett] # <<<<<<<<<<<<<< + * account.purple_account_set_string(c_account, setting, str_value) + * + */ + __pyx_4 = PyObject_GetItem(__pyx_v_po, __pyx_v_sett); if (!__pyx_4) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_4); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + __pyx_v_str_value = ((char *)__pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":338 + * + * str_value = po[sett] + * account.purple_account_set_string(c_account, setting, str_value) # <<<<<<<<<<<<<< + * + * elif type == prefs.PURPLE_PREF_INT: + */ + purple_account_set_string(__pyx_v_c_account, __pyx_v_setting, __pyx_v_str_value); + goto __pyx_L9; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":340 + * account.purple_account_set_string(c_account, setting, str_value) + * + * elif type == prefs.PURPLE_PREF_INT: # <<<<<<<<<<<<<< + * + * int_value = int(po[sett]) + */ + __pyx_6 = (__pyx_v_type == PURPLE_PREF_INT); + if (__pyx_6) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":342 + * elif type == prefs.PURPLE_PREF_INT: + * + * int_value = int(po[sett]) # <<<<<<<<<<<<<< + * account.purple_account_set_int(c_account, setting, int_value) + * + */ + __pyx_2 = PyObject_GetItem(__pyx_v_po, __pyx_v_sett); if (!__pyx_2) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_5 = PyTuple_New(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_5, 0, __pyx_2); + __pyx_2 = 0; + __pyx_4 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0; + __pyx_7 = __pyx_PyInt_int(__pyx_4); if (unlikely((__pyx_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + __pyx_v_int_value = __pyx_7; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":343 + * + * int_value = int(po[sett]) + * account.purple_account_set_int(c_account, setting, int_value) # <<<<<<<<<<<<<< + * + * elif type == prefs.PURPLE_PREF_BOOLEAN: + */ + purple_account_set_int(__pyx_v_c_account, __pyx_v_setting, __pyx_v_int_value); + goto __pyx_L9; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":345 + * account.purple_account_set_int(c_account, setting, int_value) + * + * elif type == prefs.PURPLE_PREF_BOOLEAN: # <<<<<<<<<<<<<< + * + * bool_value = bool(po[sett]) + */ + __pyx_1 = (__pyx_v_type == PURPLE_PREF_BOOLEAN); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":347 + * elif type == prefs.PURPLE_PREF_BOOLEAN: + * + * bool_value = bool(po[sett]) # <<<<<<<<<<<<<< + * account.purple_account_set_bool(c_account, setting, bool_value) + * + */ + __pyx_2 = PyObject_GetItem(__pyx_v_po, __pyx_v_sett); if (!__pyx_2) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_5 = PyTuple_New(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_5, 0, __pyx_2); + __pyx_2 = 0; + __pyx_4 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0; + __pyx_8 = __pyx_PyInt_int(__pyx_4); if (unlikely((__pyx_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + __pyx_v_bool_value = __pyx_8; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":348 + * + * bool_value = bool(po[sett]) + * account.purple_account_set_bool(c_account, setting, bool_value) # <<<<<<<<<<<<<< + * + * elif type == prefs.PURPLE_PREF_STRING_LIST: + */ + purple_account_set_bool(__pyx_v_c_account, __pyx_v_setting, __pyx_v_bool_value); + goto __pyx_L9; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":350 + * account.purple_account_set_bool(c_account, setting, bool_value) + * + * elif type == prefs.PURPLE_PREF_STRING_LIST: # <<<<<<<<<<<<<< + * + * str_value = po[sett] + */ + __pyx_6 = (__pyx_v_type == PURPLE_PREF_STRING_LIST); + if (__pyx_6) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":352 + * elif type == prefs.PURPLE_PREF_STRING_LIST: + * + * str_value = po[sett] # <<<<<<<<<<<<<< + * account.purple_account_set_string(c_account, setting, str_value) + * + */ + __pyx_2 = PyObject_GetItem(__pyx_v_po, __pyx_v_sett); if (!__pyx_2) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_v_str_value = ((char *)__pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":353 + * + * str_value = po[sett] + * account.purple_account_set_string(c_account, setting, str_value) # <<<<<<<<<<<<<< + * + * iter = iter.next + */ + purple_account_set_string(__pyx_v_c_account, __pyx_v_setting, __pyx_v_str_value); + goto __pyx_L9; + } + __pyx_L9:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":355 + * account.purple_account_set_string(c_account, setting, str_value) + * + * iter = iter.next # <<<<<<<<<<<<<< + * + * return True + */ + __pyx_v_iter = __pyx_v_iter->next; + __pyx_L6:; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":357 + * iter = iter.next + * + * return True # <<<<<<<<<<<<<< + * + * def set_password(self, password): + */ + __pyx_5 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_5; + __pyx_5 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_4); + Py_XDECREF(__pyx_5); + __Pyx_AddTraceback("purple.Account.set_protocol_options"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_sett); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":359 + * return True + * + * def set_password(self, password): # <<<<<<<<<<<<<< + * """ + * Sets the account's password. + */ + +static PyObject *__pyx_pf_6purple_7Account_set_password(PyObject *__pyx_v_self, PyObject *__pyx_v_password); /*proto*/ +static char __pyx_doc_6purple_7Account_set_password[] = "\n Sets the account's password.\n\n @param password The password\n @return True if successful, False if account doesn't exists\n "; +static PyObject *__pyx_pf_6purple_7Account_set_password(PyObject *__pyx_v_self, PyObject *__pyx_v_password) { + PyObject *__pyx_r; + int __pyx_1; + char *__pyx_2; + PyObject *__pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":366 + * @return True if successful, False if account doesn't exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * account.purple_account_set_password(self._get_structure(), \ + * password) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":368 + * if self.__exists: + * account.purple_account_set_password(self._get_structure(), \ + * password) # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_password); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_account_set_password(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":369 + * account.purple_account_set_password(self._get_structure(), \ + * password) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_3 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":371 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def set_alias(self, alias): + */ + __pyx_3 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + __Pyx_AddTraceback("purple.Account.set_password"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":373 + * return False + * + * def set_alias(self, alias): # <<<<<<<<<<<<<< + * """ + * Sets the account's alias + */ + +static PyObject *__pyx_pf_6purple_7Account_set_alias(PyObject *__pyx_v_self, PyObject *__pyx_v_alias); /*proto*/ +static char __pyx_doc_6purple_7Account_set_alias[] = "\n Sets the account's alias\n\n @param alias The alias\n @return True if successful, False if account doesn't exists\n "; +static PyObject *__pyx_pf_6purple_7Account_set_alias(PyObject *__pyx_v_self, PyObject *__pyx_v_alias) { + PyObject *__pyx_r; + int __pyx_1; + char *__pyx_2; + PyObject *__pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":380 + * @return True if successful, False if account doesn't exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * account.purple_account_set_alias(self._get_structure(), \ + * alias) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":382 + * if self.__exists: + * account.purple_account_set_alias(self._get_structure(), \ + * alias) # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_alias); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_account_set_alias(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":383 + * account.purple_account_set_alias(self._get_structure(), \ + * alias) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_3 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":385 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def set_user_info(self, user_info): + */ + __pyx_3 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + __Pyx_AddTraceback("purple.Account.set_alias"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":387 + * return False + * + * def set_user_info(self, user_info): # <<<<<<<<<<<<<< + * """ + * Sets the account's user information + */ + +static PyObject *__pyx_pf_6purple_7Account_set_user_info(PyObject *__pyx_v_self, PyObject *__pyx_v_user_info); /*proto*/ +static char __pyx_doc_6purple_7Account_set_user_info[] = "\n Sets the account's user information\n\n @param user_info The user information\n @return True if successful, False if account doesn't exists\n "; +static PyObject *__pyx_pf_6purple_7Account_set_user_info(PyObject *__pyx_v_self, PyObject *__pyx_v_user_info) { + PyObject *__pyx_r; + int __pyx_1; + char *__pyx_2; + PyObject *__pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":394 + * @return True if successful, False if account doesn't exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * account.purple_account_set_user_info(self._get_structure(), \ + * user_info) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":396 + * if self.__exists: + * account.purple_account_set_user_info(self._get_structure(), \ + * user_info) # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_user_info); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_account_set_user_info(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":397 + * account.purple_account_set_user_info(self._get_structure(), \ + * user_info) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_3 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":399 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def set_remember_password(self, remember_password): + */ + __pyx_3 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + __Pyx_AddTraceback("purple.Account.set_user_info"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":401 + * return False + * + * def set_remember_password(self, remember_password): # <<<<<<<<<<<<<< + * """ + * Sets whether or not this account should save its password. + */ + +static PyObject *__pyx_pf_6purple_7Account_set_remember_password(PyObject *__pyx_v_self, PyObject *__pyx_v_remember_password); /*proto*/ +static char __pyx_doc_6purple_7Account_set_remember_password[] = "\n Sets whether or not this account should save its password.\n\n @param remember_password True if should remember the password,\n or False otherwise\n @return True if successful, False if account doesn't exists\n "; +static PyObject *__pyx_pf_6purple_7Account_set_remember_password(PyObject *__pyx_v_self, PyObject *__pyx_v_remember_password) { + PyObject *__pyx_r; + int __pyx_1; + gboolean __pyx_2; + PyObject *__pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":409 + * @return True if successful, False if account doesn't exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * account.purple_account_set_remember_password( \ + * self._get_structure(), remember_password) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":411 + * if self.__exists: + * account.purple_account_set_remember_password( \ + * self._get_structure(), remember_password) # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_2 = __pyx_PyInt_int(__pyx_v_remember_password); if (unlikely((__pyx_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_account_set_remember_password(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":412 + * account.purple_account_set_remember_password( \ + * self._get_structure(), remember_password) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_3 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":414 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def set_enabled(self, value): + */ + __pyx_3 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + __Pyx_AddTraceback("purple.Account.set_remember_password"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":416 + * return False + * + * def set_enabled(self, value): # <<<<<<<<<<<<<< + * """ + * Sets wheter or not this account is enabled. + */ + +static PyObject *__pyx_pf_6purple_7Account_set_enabled(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static char __pyx_doc_6purple_7Account_set_enabled[] = "\n Sets wheter or not this account is enabled.\n\n @param value True if it is enabled, or False otherwise\n @return True if successful, False if account doesn't exists\n "; +static PyObject *__pyx_pf_6purple_7Account_set_enabled(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + char *__pyx_3; + PyObject *__pyx_4 = 0; + gboolean __pyx_5; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":423 + * @return True if successful, False if account doesn't exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * account.purple_account_set_enabled(self._get_structure(), \ + * self.__core.ui_name, bool(value)) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":425 + * if self.__exists: + * account.purple_account_set_enabled(self._get_structure(), \ + * self.__core.ui_name, bool(value)) # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core, __pyx_kp_ui_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_value); + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_value); + __pyx_4 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + __pyx_5 = __pyx_PyInt_int(__pyx_4); if (unlikely((__pyx_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + purple_account_set_enabled(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3, __pyx_5); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":426 + * account.purple_account_set_enabled(self._get_structure(), \ + * self.__core.ui_name, bool(value)) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":428 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def new(self): + */ + __pyx_4 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Account.set_enabled"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":430 + * return False + * + * def new(self): # <<<<<<<<<<<<<< + * """ + * Creates a new account. + */ + +static PyObject *__pyx_pf_6purple_7Account_new(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static char __pyx_doc_6purple_7Account_new[] = "\n Creates a new account.\n\n @return True if successful, False if account already exists\n "; +static PyObject *__pyx_pf_6purple_7Account_new(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + char *__pyx_3; + char *__pyx_4; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":436 + * @return True if successful, False if account already exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * return False + * else: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":437 + * """ + * if self.__exists: + * return False # <<<<<<<<<<<<<< + * else: + * account.purple_accounts_add(account.purple_account_new( \ + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":440 + * else: + * account.purple_accounts_add(account.purple_account_new( \ + * self.__username, self.__protocol.id)) # <<<<<<<<<<<<<< + * + * self.__exists = True + */ + __pyx_3 = __Pyx_PyBytes_AsString(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__username); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol, __pyx_kp_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + purple_accounts_add(purple_account_new(__pyx_3, __pyx_4)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":442 + * self.__username, self.__protocol.id)) + * + * self.__exists = True # <<<<<<<<<<<<<< + * return True + * + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":443 + * + * self.__exists = True + * return True # <<<<<<<<<<<<<< + * + * def remove(self): + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.new"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":445 + * return True + * + * def remove(self): # <<<<<<<<<<<<<< + * """ + * Removes an existing account. + */ + +static PyObject *__pyx_pf_6purple_7Account_remove(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static char __pyx_doc_6purple_7Account_remove[] = "\n Removes an existing account.\n\n @return True if successful, False if account doesn't exists\n "; +static PyObject *__pyx_pf_6purple_7Account_remove(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_v_self__exists; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + __pyx_v_self__exists = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":451 + * @return True if successful, False if account doesn't exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * account.purple_accounts_delete(self._get_structure()) + * self__exists = False + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":452 + * """ + * if self.__exists: + * account.purple_accounts_delete(self._get_structure()) # <<<<<<<<<<<<<< + * self__exists = False + * return True + */ + purple_accounts_delete(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":453 + * if self.__exists: + * account.purple_accounts_delete(self._get_structure()) + * self__exists = False # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_self__exists); + __pyx_v_self__exists = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":454 + * account.purple_accounts_delete(self._get_structure()) + * self__exists = False + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":456 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def connect(self): + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.remove"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_self__exists); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":458 + * return False + * + * def connect(self): # <<<<<<<<<<<<<< + * """ + * Connects to an account. + */ + +static PyObject *__pyx_pf_6purple_7Account_connect(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static char __pyx_doc_6purple_7Account_connect[] = "\n Connects to an account.\n\n @return True if successful, False if account doesn't exists\n "; +static PyObject *__pyx_pf_6purple_7Account_connect(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":464 + * @return True if successful, False if account doesn't exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * account.purple_account_connect(self._get_structure()) + * return True + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":465 + * """ + * if self.__exists: + * account.purple_account_connect(self._get_structure()) # <<<<<<<<<<<<<< + * return True + * else: + */ + purple_account_connect(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":466 + * if self.__exists: + * account.purple_account_connect(self._get_structure()) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":468 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def disconnect(self): + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.connect"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":470 + * return False + * + * def disconnect(self): # <<<<<<<<<<<<<< + * """ + * Disconnects from an account. + */ + +static PyObject *__pyx_pf_6purple_7Account_disconnect(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static char __pyx_doc_6purple_7Account_disconnect[] = "\n Disconnects from an account.\n\n @return True if successful, False if account doesn't exists\n "; +static PyObject *__pyx_pf_6purple_7Account_disconnect(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":476 + * @return True if successful, False if account doesn't exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * account.purple_account_disconnect(self._get_structure()) + * return True + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":477 + * """ + * if self.__exists: + * account.purple_account_disconnect(self._get_structure()) # <<<<<<<<<<<<<< + * return True + * else: + */ + purple_account_disconnect(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":478 + * if self.__exists: + * account.purple_account_disconnect(self._get_structure()) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":480 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def add_buddy(self, name, alias=None, group=None): + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Account.disconnect"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":482 + * return False + * + * def add_buddy(self, name, alias=None, group=None): # <<<<<<<<<<<<<< + * """ + * Adds a buddy to account's buddy list. + */ + +static PyObject *__pyx_pf_6purple_7Account_add_buddy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_6purple_7Account_add_buddy[] = "\n Adds a buddy to account's buddy list.\n\n @param name Buddy name\n @param alias Buddy alias (optional)\n @return True if successfull, False otherwise\n "; +static PyObject *__pyx_pf_6purple_7Account_add_buddy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_name = 0; + PyObject *__pyx_v_alias = 0; + PyObject *__pyx_v_group = 0; + PurpleBuddy *__pyx_v_c_buddy; + PurpleGroup *__pyx_v_c_group; + char *__pyx_v_c_alias; + PyObject *__pyx_r; + int __pyx_1; + char *__pyx_2; + int __pyx_3; + PyObject *__pyx_4 = 0; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_name,&__pyx_kp_alias,&__pyx_kp_group,0}; + __pyx_v_alias = Py_None; + __pyx_v_group = Py_None; + if (unlikely(__pyx_kwds)) { + PyObject* values[3] = {0,0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "add_buddy") < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_name = values[0]; + if (values[1]) { + __pyx_v_alias = values[1]; + } + if (values[2]) { + __pyx_v_group = values[2]; + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: __pyx_v_group = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: __pyx_v_alias = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("add_buddy", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[11]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Account.add_buddy"); + return NULL; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":490 + * @return True if successfull, False otherwise + * """ + * cdef blist.PurpleBuddy *c_buddy = NULL # <<<<<<<<<<<<<< + * cdef blist.PurpleGroup *c_group = NULL + * cdef char *c_alias = NULL + */ + __pyx_v_c_buddy = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":491 + * """ + * cdef blist.PurpleBuddy *c_buddy = NULL + * cdef blist.PurpleGroup *c_group = NULL # <<<<<<<<<<<<<< + * cdef char *c_alias = NULL + * + */ + __pyx_v_c_group = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":492 + * cdef blist.PurpleBuddy *c_buddy = NULL + * cdef blist.PurpleGroup *c_group = NULL + * cdef char *c_alias = NULL # <<<<<<<<<<<<<< + * + * if alias: + */ + __pyx_v_c_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":494 + * cdef char *c_alias = NULL + * + * if alias: # <<<<<<<<<<<<<< + * c_alias = alias + * else: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_v_alias); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":495 + * + * if alias: + * c_alias = alias # <<<<<<<<<<<<<< + * else: + * c_alias = NULL + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_alias); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_alias = __pyx_2; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":497 + * c_alias = alias + * else: + * c_alias = NULL # <<<<<<<<<<<<<< + * + * if self.__exists and \ + */ + __pyx_v_c_alias = NULL; + } + __pyx_L6:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":499 + * c_alias = NULL + * + * if self.__exists and \ # <<<<<<<<<<<<<< + * account.purple_account_is_connected(self._get_structure()): + * if blist.purple_find_buddy(self._get_structure(), name): + */ + __pyx_3 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_3 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __pyx_3; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":500 + * + * if self.__exists and \ + * account.purple_account_is_connected(self._get_structure()): # <<<<<<<<<<<<<< + * if blist.purple_find_buddy(self._get_structure(), name): + * return False + */ + __pyx_1 = purple_account_is_connected(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))); + } + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":501 + * if self.__exists and \ + * account.purple_account_is_connected(self._get_structure()): + * if blist.purple_find_buddy(self._get_structure(), name): # <<<<<<<<<<<<<< + * return False + * + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = (purple_find_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2) != 0); + if (__pyx_3) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":502 + * account.purple_account_is_connected(self._get_structure()): + * if blist.purple_find_buddy(self._get_structure(), name): + * return False # <<<<<<<<<<<<<< + * + * if group: + */ + __pyx_4 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + goto __pyx_L8; + } + __pyx_L8:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":504 + * return False + * + * if group: # <<<<<<<<<<<<<< + * c_group = blist.purple_find_group(group) + * if c_group == NULL: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_v_group); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":505 + * + * if group: + * c_group = blist.purple_find_group(group) # <<<<<<<<<<<<<< + * if c_group == NULL: + * c_group = blist.purple_group_new(group) + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_group); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_group = purple_find_group(__pyx_2); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":506 + * if group: + * c_group = blist.purple_find_group(group) + * if c_group == NULL: # <<<<<<<<<<<<<< + * c_group = blist.purple_group_new(group) + * + */ + __pyx_3 = (__pyx_v_c_group == NULL); + if (__pyx_3) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":507 + * c_group = blist.purple_find_group(group) + * if c_group == NULL: + * c_group = blist.purple_group_new(group) # <<<<<<<<<<<<<< + * + * c_buddy = blist.purple_buddy_new(self._get_structure(), \ + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_group); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_group = purple_group_new(__pyx_2); + goto __pyx_L10; + } + __pyx_L10:; + goto __pyx_L9; + } + __pyx_L9:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":510 + * + * c_buddy = blist.purple_buddy_new(self._get_structure(), \ + * name, c_alias) # <<<<<<<<<<<<<< + * if c_buddy == NULL: + * return False + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_buddy = purple_buddy_new(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2, __pyx_v_c_alias); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":511 + * c_buddy = blist.purple_buddy_new(self._get_structure(), \ + * name, c_alias) + * if c_buddy == NULL: # <<<<<<<<<<<<<< + * return False + * + */ + __pyx_1 = (__pyx_v_c_buddy == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":512 + * name, c_alias) + * if c_buddy == NULL: + * return False # <<<<<<<<<<<<<< + * + * blist.purple_blist_add_buddy(c_buddy, NULL, c_group, NULL) + */ + __pyx_4 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + goto __pyx_L11; + } + __pyx_L11:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":514 + * return False + * + * blist.purple_blist_add_buddy(c_buddy, NULL, c_group, NULL) # <<<<<<<<<<<<<< + * account.purple_account_add_buddy(self._get_structure(), c_buddy) + * if c_alias: + */ + purple_blist_add_buddy(__pyx_v_c_buddy, NULL, __pyx_v_c_group, NULL); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":515 + * + * blist.purple_blist_add_buddy(c_buddy, NULL, c_group, NULL) + * account.purple_account_add_buddy(self._get_structure(), c_buddy) # <<<<<<<<<<<<<< + * if c_alias: + * blist.purple_blist_alias_buddy(c_buddy, c_alias) + */ + purple_account_add_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_v_c_buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":516 + * blist.purple_blist_add_buddy(c_buddy, NULL, c_group, NULL) + * account.purple_account_add_buddy(self._get_structure(), c_buddy) + * if c_alias: # <<<<<<<<<<<<<< + * blist.purple_blist_alias_buddy(c_buddy, c_alias) + * server.serv_alias_buddy(c_buddy) + */ + __pyx_3 = (__pyx_v_c_alias != 0); + if (__pyx_3) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":517 + * account.purple_account_add_buddy(self._get_structure(), c_buddy) + * if c_alias: + * blist.purple_blist_alias_buddy(c_buddy, c_alias) # <<<<<<<<<<<<<< + * server.serv_alias_buddy(c_buddy) + * + */ + purple_blist_alias_buddy(__pyx_v_c_buddy, __pyx_v_c_alias); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":518 + * if c_alias: + * blist.purple_blist_alias_buddy(c_buddy, c_alias) + * server.serv_alias_buddy(c_buddy) # <<<<<<<<<<<<<< + * + * return True + */ + serv_alias_buddy(__pyx_v_c_buddy); + goto __pyx_L12; + } + __pyx_L12:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":520 + * server.serv_alias_buddy(c_buddy) + * + * return True # <<<<<<<<<<<<<< + * + * else: + */ + __pyx_4 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + goto __pyx_L7; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":523 + * + * else: + * return None # <<<<<<<<<<<<<< + * + * def remove_buddy(self, name): + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L7:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Account.add_buddy"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":525 + * return None + * + * def remove_buddy(self, name): # <<<<<<<<<<<<<< + * """ + * Removes a buddy from account's buddy list. + */ + +static PyObject *__pyx_pf_6purple_7Account_remove_buddy(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/ +static char __pyx_doc_6purple_7Account_remove_buddy[] = "\n Removes a buddy from account's buddy list.\n\n @param name Buddy name\n @return True if successful, False otherwise\n "; +static PyObject *__pyx_pf_6purple_7Account_remove_buddy(PyObject *__pyx_v_self, PyObject *__pyx_v_name) { + PurpleBuddy *__pyx_v_c_buddy; + PurpleGroup *__pyx_v_c_group; + PyObject *__pyx_r; + int __pyx_1; + int __pyx_2; + char *__pyx_3; + PyObject *__pyx_4 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":532 + * @return True if successful, False otherwise + * """ + * cdef blist.PurpleBuddy *c_buddy = NULL # <<<<<<<<<<<<<< + * cdef blist.PurpleGroup *c_group = NULL + * + */ + __pyx_v_c_buddy = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":533 + * """ + * cdef blist.PurpleBuddy *c_buddy = NULL + * cdef blist.PurpleGroup *c_group = NULL # <<<<<<<<<<<<<< + * + * if self.__exists and \ + */ + __pyx_v_c_group = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":535 + * cdef blist.PurpleGroup *c_group = NULL + * + * if self.__exists and \ # <<<<<<<<<<<<<< + * account.purple_account_is_connected(self._get_structure()): + * c_buddy = blist.purple_find_buddy(self._get_structure(), name) + */ + __pyx_2 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __pyx_2; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":536 + * + * if self.__exists and \ + * account.purple_account_is_connected(self._get_structure()): # <<<<<<<<<<<<<< + * c_buddy = blist.purple_find_buddy(self._get_structure(), name) + * if c_buddy == NULL: + */ + __pyx_1 = purple_account_is_connected(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))); + } + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":537 + * if self.__exists and \ + * account.purple_account_is_connected(self._get_structure()): + * c_buddy = blist.purple_find_buddy(self._get_structure(), name) # <<<<<<<<<<<<<< + * if c_buddy == NULL: + * return False + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_buddy = purple_find_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":538 + * account.purple_account_is_connected(self._get_structure()): + * c_buddy = blist.purple_find_buddy(self._get_structure(), name) + * if c_buddy == NULL: # <<<<<<<<<<<<<< + * return False + * + */ + __pyx_2 = (__pyx_v_c_buddy == NULL); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":539 + * c_buddy = blist.purple_find_buddy(self._get_structure(), name) + * if c_buddy == NULL: + * return False # <<<<<<<<<<<<<< + * + * c_group = blist.purple_buddy_get_group(c_buddy) + */ + __pyx_4 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + goto __pyx_L6; + } + __pyx_L6:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":541 + * return False + * + * c_group = blist.purple_buddy_get_group(c_buddy) # <<<<<<<<<<<<<< + * + * account.purple_account_remove_buddy(self._get_structure(), \ + */ + __pyx_v_c_group = purple_buddy_get_group(__pyx_v_c_buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":544 + * + * account.purple_account_remove_buddy(self._get_structure(), \ + * c_buddy, c_group) # <<<<<<<<<<<<<< + * blist.purple_blist_remove_buddy(c_buddy) + * return True + */ + purple_account_remove_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_v_c_buddy, __pyx_v_c_group); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":545 + * account.purple_account_remove_buddy(self._get_structure(), \ + * c_buddy, c_group) + * blist.purple_blist_remove_buddy(c_buddy) # <<<<<<<<<<<<<< + * return True + * else: + */ + purple_blist_remove_buddy(__pyx_v_c_buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":546 + * c_buddy, c_group) + * blist.purple_blist_remove_buddy(c_buddy) + * return True # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_4 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":548 + * return True + * else: + * return None # <<<<<<<<<<<<<< + * + * def get_buddies_online(self): + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Account.remove_buddy"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":550 + * return None + * + * def get_buddies_online(self): # <<<<<<<<<<<<<< + * cdef glib.GSList *iter = NULL + * cdef blist.PurpleBuddy *c_buddy = NULL + */ + +static PyObject *__pyx_pf_6purple_7Account_get_buddies_online(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account_get_buddies_online(PyObject *__pyx_v_self, PyObject *unused) { + GSList *__pyx_v_iter; + PurpleBuddy *__pyx_v_c_buddy; + char *__pyx_v_c_alias; + PyObject *__pyx_v_buddies_list; + PyObject *__pyx_v_name; + PyObject *__pyx_v_new_buddy; + PyObject *__pyx_r; + int __pyx_1; + int __pyx_2; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + PyObject *__pyx_5 = 0; + __pyx_v_buddies_list = Py_None; Py_INCREF(Py_None); + __pyx_v_name = Py_None; Py_INCREF(Py_None); + __pyx_v_new_buddy = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":551 + * + * def get_buddies_online(self): + * cdef glib.GSList *iter = NULL # <<<<<<<<<<<<<< + * cdef blist.PurpleBuddy *c_buddy = NULL + * cdef char *c_alias = NULL + */ + __pyx_v_iter = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":552 + * def get_buddies_online(self): + * cdef glib.GSList *iter = NULL + * cdef blist.PurpleBuddy *c_buddy = NULL # <<<<<<<<<<<<<< + * cdef char *c_alias = NULL + * + */ + __pyx_v_c_buddy = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":553 + * cdef glib.GSList *iter = NULL + * cdef blist.PurpleBuddy *c_buddy = NULL + * cdef char *c_alias = NULL # <<<<<<<<<<<<<< + * + * if self.__exists and \ + */ + __pyx_v_c_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":555 + * cdef char *c_alias = NULL + * + * if self.__exists and \ # <<<<<<<<<<<<<< + * account.purple_account_is_connected(self._get_structure()): + * iter = blist.purple_find_buddies(self._get_structure(), NULL) + */ + __pyx_2 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __pyx_2; + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":556 + * + * if self.__exists and \ + * account.purple_account_is_connected(self._get_structure()): # <<<<<<<<<<<<<< + * iter = blist.purple_find_buddies(self._get_structure(), NULL) + * + */ + __pyx_1 = purple_account_is_connected(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))); + } + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":557 + * if self.__exists and \ + * account.purple_account_is_connected(self._get_structure()): + * iter = blist.purple_find_buddies(self._get_structure(), NULL) # <<<<<<<<<<<<<< + * + * buddies_list = [] + */ + __pyx_v_iter = purple_find_buddies(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), NULL); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":559 + * iter = blist.purple_find_buddies(self._get_structure(), NULL) + * + * buddies_list = [] # <<<<<<<<<<<<<< + * while iter: + * c_alias = NULL + */ + __pyx_3 = PyList_New(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_buddies_list); + __pyx_v_buddies_list = ((PyObject *)__pyx_3); + __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":560 + * + * buddies_list = [] + * while iter: # <<<<<<<<<<<<<< + * c_alias = NULL + * c_buddy = iter.data + */ + while (1) { + __pyx_2 = (__pyx_v_iter != 0); + if (!__pyx_2) break; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":561 + * buddies_list = [] + * while iter: + * c_alias = NULL # <<<<<<<<<<<<<< + * c_buddy = iter.data + * if c_buddy and \ + */ + __pyx_v_c_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":562 + * while iter: + * c_alias = NULL + * c_buddy = iter.data # <<<<<<<<<<<<<< + * if c_buddy and \ + * status.purple_presence_is_online( \ + */ + __pyx_v_c_buddy = ((PurpleBuddy *)__pyx_v_iter->data); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":563 + * c_alias = NULL + * c_buddy = iter.data + * if c_buddy and \ # <<<<<<<<<<<<<< + * status.purple_presence_is_online( \ + * blist.purple_buddy_get_presence(c_buddy)): + */ + __pyx_1 = (((PurpleBuddy *)__pyx_v_c_buddy) != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":565 + * if c_buddy and \ + * status.purple_presence_is_online( \ + * blist.purple_buddy_get_presence(c_buddy)): # <<<<<<<<<<<<<< + * name = blist.purple_buddy_get_name(c_buddy) + * + */ + __pyx_1 = purple_presence_is_online(purple_buddy_get_presence(__pyx_v_c_buddy)); + } + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":566 + * status.purple_presence_is_online( \ + * blist.purple_buddy_get_presence(c_buddy)): + * name = blist.purple_buddy_get_name(c_buddy) # <<<<<<<<<<<<<< + * + * new_buddy = Buddy(name, self) + */ + __pyx_3 = __Pyx_PyBytes_FromString(((char *)purple_buddy_get_name(__pyx_v_c_buddy))); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_name); + __pyx_v_name = __pyx_3; + __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":568 + * name = blist.purple_buddy_get_name(c_buddy) + * + * new_buddy = Buddy(name, self) # <<<<<<<<<<<<<< + * + * c_alias = blist.purple_buddy_get_alias_only(c_buddy) + */ + __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_v_name); + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_name); + Py_INCREF(__pyx_v_self); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_self); + __pyx_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_6purple_Buddy)), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + Py_DECREF(__pyx_v_new_buddy); + __pyx_v_new_buddy = __pyx_4; + __pyx_4 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":570 + * new_buddy = Buddy(name, self) + * + * c_alias = blist.purple_buddy_get_alias_only(c_buddy) # <<<<<<<<<<<<<< + * if c_alias: + * new_buddy.set_alias(c_alias) + */ + __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_c_buddy)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":571 + * + * c_alias = blist.purple_buddy_get_alias_only(c_buddy) + * if c_alias: # <<<<<<<<<<<<<< + * new_buddy.set_alias(c_alias) + * + */ + __pyx_2 = (__pyx_v_c_alias != 0); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":572 + * c_alias = blist.purple_buddy_get_alias_only(c_buddy) + * if c_alias: + * new_buddy.set_alias(c_alias) # <<<<<<<<<<<<<< + * + * buddies_list.append(new_buddy) + */ + __pyx_3 = PyObject_GetAttr(__pyx_v_new_buddy, __pyx_kp_set_alias); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_5 = PyTuple_New(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4); + __pyx_4 = 0; + __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0; + Py_DECREF(__pyx_4); __pyx_4 = 0; + goto __pyx_L9; + } + __pyx_L9:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":574 + * new_buddy.set_alias(c_alias) + * + * buddies_list.append(new_buddy) # <<<<<<<<<<<<<< + * iter = iter.next + * return buddies_list + */ + __pyx_3 = __Pyx_PyObject_Append(__pyx_v_buddies_list, __pyx_v_new_buddy); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + goto __pyx_L8; + } + __pyx_L8:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":575 + * + * buddies_list.append(new_buddy) + * iter = iter.next # <<<<<<<<<<<<<< + * return buddies_list + * else: + */ + __pyx_v_iter = __pyx_v_iter->next; + } + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":576 + * buddies_list.append(new_buddy) + * iter = iter.next + * return buddies_list # <<<<<<<<<<<<<< + * else: + * return None + */ + Py_INCREF(__pyx_v_buddies_list); + __pyx_r = __pyx_v_buddies_list; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":578 + * return buddies_list + * else: + * return None # <<<<<<<<<<<<<< + * + * def request_add_buddy(self, buddy_username, buddy_alias): + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + Py_XDECREF(__pyx_5); + __Pyx_AddTraceback("purple.Account.get_buddies_online"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_buddies_list); + Py_DECREF(__pyx_v_name); + Py_DECREF(__pyx_v_new_buddy); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":580 + * return None + * + * def request_add_buddy(self, buddy_username, buddy_alias): # <<<<<<<<<<<<<< + * if buddy_alias: + * blist.purple_blist_request_add_buddy(self._get_structure(), \ + */ + +static PyObject *__pyx_pf_6purple_7Account_request_add_buddy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account_request_add_buddy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_buddy_username = 0; + PyObject *__pyx_v_buddy_alias = 0; + PyObject *__pyx_r; + int __pyx_1; + char *__pyx_2; + char *__pyx_3; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_buddy_username,&__pyx_kp_buddy_alias,0}; + if (unlikely(__pyx_kwds)) { + PyObject* values[2] = {0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_buddy_username); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_buddy_alias); + if (likely(values[1])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("request_add_buddy", 1, 2, 2, 1); {__pyx_filename = __pyx_f[11]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "request_add_buddy") < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_buddy_username = values[0]; + __pyx_v_buddy_alias = values[1]; + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + __pyx_v_buddy_username = PyTuple_GET_ITEM(__pyx_args, 0); + __pyx_v_buddy_alias = PyTuple_GET_ITEM(__pyx_args, 1); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("request_add_buddy", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[11]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Account.request_add_buddy"); + return NULL; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":581 + * + * def request_add_buddy(self, buddy_username, buddy_alias): + * if buddy_alias: # <<<<<<<<<<<<<< + * blist.purple_blist_request_add_buddy(self._get_structure(), \ + * buddy_username, NULL, buddy_alias) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_v_buddy_alias); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":583 + * if buddy_alias: + * blist.purple_blist_request_add_buddy(self._get_structure(), \ + * buddy_username, NULL, buddy_alias) # <<<<<<<<<<<<<< + * else: + * blist.purple_blist_request_add_buddy(self._get_structure(), \ + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_buddy_username); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_buddy_alias); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_blist_request_add_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2, NULL, __pyx_3); + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":586 + * else: + * blist.purple_blist_request_add_buddy(self._get_structure(), \ + * buddy_username, NULL, NULL) # <<<<<<<<<<<<<< + * + * def set_active_status(self, type, msg=None): + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_buddy_username); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_blist_request_add_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2, NULL, NULL); + } + __pyx_L6:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("purple.Account.request_add_buddy"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":588 + * buddy_username, NULL, NULL) + * + * def set_active_status(self, type, msg=None): # <<<<<<<<<<<<<< + * cdef status.PurpleStatusType *c_statustype = NULL + * cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL + */ + +static PyObject *__pyx_pf_6purple_7Account_set_active_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account_set_active_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_type = 0; + PyObject *__pyx_v_msg = 0; + PurpleStatusType *__pyx_v_c_statustype; + PurpleSavedStatus *__pyx_v_c_savedstatus; + PyObject *__pyx_r; + int __pyx_1; + char *__pyx_2; + char *__pyx_3; + PyObject *__pyx_4 = 0; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_type,&__pyx_kp_msg,0}; + __pyx_v_msg = Py_None; + if (unlikely(__pyx_kwds)) { + PyObject* values[2] = {0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_type); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_active_status") < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_type = values[0]; + if (values[1]) { + __pyx_v_msg = values[1]; + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: __pyx_v_msg = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: __pyx_v_type = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("set_active_status", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[11]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Account.set_active_status"); + return NULL; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":589 + * + * def set_active_status(self, type, msg=None): + * cdef status.PurpleStatusType *c_statustype = NULL # <<<<<<<<<<<<<< + * cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL + * + */ + __pyx_v_c_statustype = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":590 + * def set_active_status(self, type, msg=None): + * cdef status.PurpleStatusType *c_statustype = NULL + * cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL # <<<<<<<<<<<<<< + * + * if self.__exists: + */ + __pyx_v_c_savedstatus = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":592 + * cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL + * + * if self.__exists: # <<<<<<<<<<<<<< + * if msg: + * account.purple_account_set_status(self._get_structure(), + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":593 + * + * if self.__exists: + * if msg: # <<<<<<<<<<<<<< + * account.purple_account_set_status(self._get_structure(), + * type, True, "message", msg, NULL) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_v_msg); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":595 + * if msg: + * account.purple_account_set_status(self._get_structure(), + * type, True, "message", msg, NULL) # <<<<<<<<<<<<<< + * else: + * account.purple_account_set_status(self._get_structure(), + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_msg); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_account_set_status(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), ((char *)__pyx_2), 1, __pyx_k_454, ((char *)__pyx_3), NULL); + goto __pyx_L7; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":598 + * else: + * account.purple_account_set_status(self._get_structure(), + * type, True, NULL) # <<<<<<<<<<<<<< + * + * # FIXME: We can create only a savedstatus for each statustype + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_account_set_status(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), ((char *)__pyx_2), 1, NULL); + } + __pyx_L7:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":601 + * + * # FIXME: We can create only a savedstatus for each statustype + * c_savedstatus = savedstatuses.purple_savedstatus_find(type) # <<<<<<<<<<<<<< + * if c_savedstatus == NULL: + * c_statustype = account.purple_account_get_status_type( \ + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_savedstatus = purple_savedstatus_find(__pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":602 + * # FIXME: We can create only a savedstatus for each statustype + * c_savedstatus = savedstatuses.purple_savedstatus_find(type) + * if c_savedstatus == NULL: # <<<<<<<<<<<<<< + * c_statustype = account.purple_account_get_status_type( \ + * self._get_structure(), type) + */ + __pyx_1 = (__pyx_v_c_savedstatus == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":604 + * if c_savedstatus == NULL: + * c_statustype = account.purple_account_get_status_type( \ + * self._get_structure(), type) # <<<<<<<<<<<<<< + * c_savedstatus = savedstatuses.purple_savedstatus_new( \ + * NULL, status.purple_status_type_get_primitive( \ + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_statustype = purple_account_get_status_type(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":607 + * c_savedstatus = savedstatuses.purple_savedstatus_new( \ + * NULL, status.purple_status_type_get_primitive( \ + * c_statustype)) # <<<<<<<<<<<<<< + * savedstatuses.purple_savedstatus_set_title(c_savedstatus, + * type) + */ + __pyx_v_c_savedstatus = purple_savedstatus_new(NULL, purple_status_type_get_primitive(__pyx_v_c_statustype)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":609 + * c_statustype)) + * savedstatuses.purple_savedstatus_set_title(c_savedstatus, + * type) # <<<<<<<<<<<<<< + * + * savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg) + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_savedstatus_set_title(__pyx_v_c_savedstatus, __pyx_3); + goto __pyx_L8; + } + __pyx_L8:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":611 + * type) + * + * savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg) # <<<<<<<<<<<<<< + * prefs.purple_prefs_set_int("/purple/savedstatus/idleaway", + * savedstatuses.purple_savedstatus_get_creation_time(c_savedstatus)) + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_msg); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_savedstatus_set_message(__pyx_v_c_savedstatus, __pyx_2); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":613 + * savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg) + * prefs.purple_prefs_set_int("/purple/savedstatus/idleaway", + * savedstatuses.purple_savedstatus_get_creation_time(c_savedstatus)) # <<<<<<<<<<<<<< + * + * return True + */ + purple_prefs_set_int(__pyx_k_455, purple_savedstatus_get_creation_time(__pyx_v_c_savedstatus)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":615 + * savedstatuses.purple_savedstatus_get_creation_time(c_savedstatus)) + * + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_4 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":617 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def set_status_message(self, type, msg): + */ + __pyx_4 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + } + __pyx_L6:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Account.set_active_status"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":619 + * return False + * + * def set_status_message(self, type, msg): # <<<<<<<<<<<<<< + * cdef status.PurpleStatus* c_status = NULL + * cdef status.PurpleStatusType *c_statustype = NULL + */ + +static PyObject *__pyx_pf_6purple_7Account_set_status_message(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pf_6purple_7Account_set_status_message(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_type = 0; + PyObject *__pyx_v_msg = 0; + PurpleStatus *__pyx_v_c_status; + PurpleStatusType *__pyx_v_c_statustype; + PurpleSavedStatus *__pyx_v_c_savedstatus; + PyObject *__pyx_r; + int __pyx_1; + int __pyx_2; + char *__pyx_3; + PyObject *__pyx_4 = 0; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_type,&__pyx_kp_msg,0}; + if (unlikely(__pyx_kwds)) { + PyObject* values[2] = {0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_type); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_msg); + if (likely(values[1])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("set_status_message", 1, 2, 2, 1); {__pyx_filename = __pyx_f[11]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_status_message") < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_type = values[0]; + __pyx_v_msg = values[1]; + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + __pyx_v_type = PyTuple_GET_ITEM(__pyx_args, 0); + __pyx_v_msg = PyTuple_GET_ITEM(__pyx_args, 1); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("set_status_message", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[11]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Account.set_status_message"); + return NULL; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":620 + * + * def set_status_message(self, type, msg): + * cdef status.PurpleStatus* c_status = NULL # <<<<<<<<<<<<<< + * cdef status.PurpleStatusType *c_statustype = NULL + * cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL + */ + __pyx_v_c_status = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":621 + * def set_status_message(self, type, msg): + * cdef status.PurpleStatus* c_status = NULL + * cdef status.PurpleStatusType *c_statustype = NULL # <<<<<<<<<<<<<< + * cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL + * + */ + __pyx_v_c_statustype = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":622 + * cdef status.PurpleStatus* c_status = NULL + * cdef status.PurpleStatusType *c_statustype = NULL + * cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL # <<<<<<<<<<<<<< + * + * if self.__exists and msg: + */ + __pyx_v_c_savedstatus = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":624 + * cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL + * + * if self.__exists and msg: # <<<<<<<<<<<<<< + * c_status = account.purple_account_get_status(self._get_structure(), + * type) + */ + __pyx_2 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __pyx_2; + if (__pyx_1) { + __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_v_msg); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __pyx_2; + } + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":626 + * if self.__exists and msg: + * c_status = account.purple_account_get_status(self._get_structure(), + * type) # <<<<<<<<<<<<<< + * if c_status == NULL: + * return False + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_status = purple_account_get_status(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":627 + * c_status = account.purple_account_get_status(self._get_structure(), + * type) + * if c_status == NULL: # <<<<<<<<<<<<<< + * return False + * status.purple_status_set_attr_string(c_status, "message", msg) + */ + __pyx_2 = (__pyx_v_c_status == NULL); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":628 + * type) + * if c_status == NULL: + * return False # <<<<<<<<<<<<<< + * status.purple_status_set_attr_string(c_status, "message", msg) + * + */ + __pyx_4 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + goto __pyx_L7; + } + __pyx_L7:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":629 + * if c_status == NULL: + * return False + * status.purple_status_set_attr_string(c_status, "message", msg) # <<<<<<<<<<<<<< + * + * # FIXME: We can create only a savedstatus for each statustype + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_msg); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_status_set_attr_string(__pyx_v_c_status, __pyx_k_456, __pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":632 + * + * # FIXME: We can create only a savedstatus for each statustype + * c_savedstatus = savedstatuses.purple_savedstatus_find(type) # <<<<<<<<<<<<<< + * if c_savedstatus == NULL: + * c_statustype = account.purple_account_get_status_type( \ + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_savedstatus = purple_savedstatus_find(__pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":633 + * # FIXME: We can create only a savedstatus for each statustype + * c_savedstatus = savedstatuses.purple_savedstatus_find(type) + * if c_savedstatus == NULL: # <<<<<<<<<<<<<< + * c_statustype = account.purple_account_get_status_type( \ + * self._get_structure(), type) + */ + __pyx_1 = (__pyx_v_c_savedstatus == NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":635 + * if c_savedstatus == NULL: + * c_statustype = account.purple_account_get_status_type( \ + * self._get_structure(), type) # <<<<<<<<<<<<<< + * c_savedstatus = savedstatuses.purple_savedstatus_new( \ + * NULL, status.purple_status_type_get_primitive( \ + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_statustype = purple_account_get_status_type(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":638 + * c_savedstatus = savedstatuses.purple_savedstatus_new( \ + * NULL, status.purple_status_type_get_primitive( \ + * c_statustype)) # <<<<<<<<<<<<<< + * savedstatuses.purple_savedstatus_set_title(c_savedstatus, + * type) + */ + __pyx_v_c_savedstatus = purple_savedstatus_new(NULL, purple_status_type_get_primitive(__pyx_v_c_statustype)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":640 + * c_statustype)) + * savedstatuses.purple_savedstatus_set_title(c_savedstatus, + * type) # <<<<<<<<<<<<<< + * + * savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg) + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_savedstatus_set_title(__pyx_v_c_savedstatus, __pyx_3); + goto __pyx_L8; + } + __pyx_L8:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":642 + * type) + * + * savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg) # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_msg); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_savedstatus_set_message(__pyx_v_c_savedstatus, __pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":643 + * + * savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_4 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":645 + * return True + * else: + * return False # <<<<<<<<<<<<<< + */ + __pyx_4 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + } + __pyx_L6:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Account.set_status_message"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":33 + * cdef object __exists + * + * def __init__(self, name, account): # <<<<<<<<<<<<<< + * self.__name = name + * self.__account = account + */ + +static int __pyx_pf_6purple_5Buddy___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pf_6purple_5Buddy___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_name = 0; + PyObject *__pyx_v_account = 0; + int __pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_name,&__pyx_kp_account,0}; + if (unlikely(__pyx_kwds)) { + PyObject* values[2] = {0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_account); + if (likely(values[1])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[12]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_name = values[0]; + __pyx_v_account = values[1]; + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 0); + __pyx_v_account = PyTuple_GET_ITEM(__pyx_args, 1); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[12]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Buddy.__init__"); + return -1; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":34 + * + * def __init__(self, name, account): + * self.__name = name # <<<<<<<<<<<<<< + * self.__account = account + * + */ + Py_INCREF(__pyx_v_name); + Py_DECREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__name); + ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__name = __pyx_v_name; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":35 + * def __init__(self, name, account): + * self.__name = name + * self.__account = account # <<<<<<<<<<<<<< + * + * if self._get_structure() != NULL: + */ + Py_INCREF(__pyx_v_account); + Py_DECREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__account); + ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__account = __pyx_v_account; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":37 + * self.__account = account + * + * if self._get_structure() != NULL: # <<<<<<<<<<<<<< + * self.__exists = True + * else: + */ + __pyx_1 = (((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)) != NULL); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":38 + * + * if self._get_structure() != NULL: + * self.__exists = True # <<<<<<<<<<<<<< + * else: + * self.__exists = False + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists = __pyx_2; + __pyx_2 = 0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":40 + * self.__exists = True + * else: + * self.__exists = False # <<<<<<<<<<<<<< + * + * cdef blist.PurpleBuddy *_get_structure(self): + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists = __pyx_2; + __pyx_2 = 0; + } + __pyx_L6:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Buddy.__init__"); + __pyx_r = -1; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":42 + * self.__exists = False + * + * cdef blist.PurpleBuddy *_get_structure(self): # <<<<<<<<<<<<<< + * return blist.purple_find_buddy(account.purple_accounts_find( \ + * self.__account.username, self.__account.protocol.id), \ + */ + +static PurpleBuddy *__pyx_f_6purple_5Buddy__get_structure(struct __pyx_obj_6purple_Buddy *__pyx_v_self) { + PurpleBuddy *__pyx_r; + PyObject *__pyx_1 = 0; + char *__pyx_2; + PyObject *__pyx_3 = 0; + char *__pyx_4; + char *__pyx_5; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":44 + * cdef blist.PurpleBuddy *_get_structure(self): + * return blist.purple_find_buddy(account.purple_accounts_find( \ + * self.__account.username, self.__account.protocol.id), \ # <<<<<<<<<<<<<< + * self.__name) + * + */ + __pyx_1 = PyObject_GetAttr(__pyx_v_self->__account, __pyx_kp_username); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_1); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_1 = PyObject_GetAttr(__pyx_v_self->__account, __pyx_kp_protocol); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyObject_GetAttr(__pyx_1, __pyx_kp_id); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_4 = __Pyx_PyBytes_AsString(__pyx_3); if (unlikely((!__pyx_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":45 + * return blist.purple_find_buddy(account.purple_accounts_find( \ + * self.__account.username, self.__account.protocol.id), \ + * self.__name) # <<<<<<<<<<<<<< + * + * def __get_exists(self): + */ + __pyx_5 = __Pyx_PyBytes_AsString(__pyx_v_self->__name); if (unlikely((!__pyx_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = purple_find_buddy(purple_accounts_find(__pyx_2, __pyx_4), __pyx_5); + goto __pyx_L0; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_3); + __Pyx_WriteUnraisable("purple.Buddy._get_structure"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":47 + * self.__name) + * + * def __get_exists(self): # <<<<<<<<<<<<<< + * return self.__exists + * exists = property(__get_exists) + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_exists(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_exists(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":48 + * + * def __get_exists(self): + * return self.__exists # <<<<<<<<<<<<<< + * exists = property(__get_exists) + * + */ + Py_INCREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); + __pyx_r = ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":51 + * exists = property(__get_exists) + * + * def __get_name(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return blist.purple_buddy_get_name(self._get_structure()) + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_name(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_name(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":52 + * + * def __get_name(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return blist.purple_buddy_get_name(self._get_structure()) + * else: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":53 + * def __get_name(self): + * if self.__exists: + * return blist.purple_buddy_get_name(self._get_structure()) # <<<<<<<<<<<<<< + * else: + * return self.__name + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)purple_buddy_get_name(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":55 + * return blist.purple_buddy_get_name(self._get_structure()) + * else: + * return self.__name # <<<<<<<<<<<<<< + * name = property(__get_name) + * + */ + Py_INCREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__name); + __pyx_r = ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__name; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Buddy.__get_name"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":58 + * name = property(__get_name) + * + * def __get_account(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return self.__account + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_account(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_account(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":59 + * + * def __get_account(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return self.__account + * else: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":60 + * def __get_account(self): + * if self.__exists: + * return self.__account # <<<<<<<<<<<<<< + * else: + * return None + */ + Py_INCREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__account); + __pyx_r = ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__account; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":62 + * return self.__account + * else: + * return None # <<<<<<<<<<<<<< + * account = property(__get_account) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("purple.Buddy.__get_account"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":65 + * account = property(__get_account) + * + * def __get_alias(self): # <<<<<<<<<<<<<< + * cdef char *c_alias = NULL + * c_alias = blist.purple_buddy_get_alias_only( \ + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_alias(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_alias(PyObject *__pyx_v_self, PyObject *unused) { + char *__pyx_v_c_alias; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + PyObject *__pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":66 + * + * def __get_alias(self): + * cdef char *c_alias = NULL # <<<<<<<<<<<<<< + * c_alias = blist.purple_buddy_get_alias_only( \ + * self._get_structure()) + */ + __pyx_v_c_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":68 + * cdef char *c_alias = NULL + * c_alias = blist.purple_buddy_get_alias_only( \ + * self._get_structure()) # <<<<<<<<<<<<<< + * if c_alias: + * return unicode(c_alias, 'utf-8') + */ + __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":69 + * c_alias = blist.purple_buddy_get_alias_only( \ + * self._get_structure()) + * if c_alias: # <<<<<<<<<<<<<< + * return unicode(c_alias, 'utf-8') + * else: + */ + __pyx_1 = (__pyx_v_c_alias != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":70 + * self._get_structure()) + * if c_alias: + * return unicode(c_alias, 'utf-8') # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2); + Py_INCREF(__pyx_kp_457); + PyTuple_SET_ITEM(__pyx_3, 1, __pyx_kp_457); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(((PyObject *)((PyObject*)&PyUnicode_Type)), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0; + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":72 + * return unicode(c_alias, 'utf-8') + * else: + * return None # <<<<<<<<<<<<<< + * alias = property(__get_alias) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_3); + __Pyx_AddTraceback("purple.Buddy.__get_alias"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":75 + * alias = property(__get_alias) + * + * def __get_group(self): # <<<<<<<<<<<<<< + * cdef blist.PurpleGroup *c_group = NULL + * if self.__exists: + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_group(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_group(PyObject *__pyx_v_self, PyObject *unused) { + PurpleGroup *__pyx_v_c_group; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":76 + * + * def __get_group(self): + * cdef blist.PurpleGroup *c_group = NULL # <<<<<<<<<<<<<< + * if self.__exists: + * c_group = blist.purple_buddy_get_group(self._get_structure()) + */ + __pyx_v_c_group = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":77 + * def __get_group(self): + * cdef blist.PurpleGroup *c_group = NULL + * if self.__exists: # <<<<<<<<<<<<<< + * c_group = blist.purple_buddy_get_group(self._get_structure()) + * return blist.purple_group_get_name(c_group) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":78 + * cdef blist.PurpleGroup *c_group = NULL + * if self.__exists: + * c_group = blist.purple_buddy_get_group(self._get_structure()) # <<<<<<<<<<<<<< + * return blist.purple_group_get_name(c_group) + * else: + */ + __pyx_v_c_group = purple_buddy_get_group(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":79 + * if self.__exists: + * c_group = blist.purple_buddy_get_group(self._get_structure()) + * return blist.purple_group_get_name(c_group) # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)purple_group_get_name(__pyx_v_c_group))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":81 + * return blist.purple_group_get_name(c_group) + * else: + * return None # <<<<<<<<<<<<<< + * group = property(__get_group) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Buddy.__get_group"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":84 + * group = property(__get_group) + * + * def __get_server_alias(self): # <<<<<<<<<<<<<< + * cdef char *c_server_alias = NULL + * c_server_alias = blist.purple_buddy_get_server_alias( \ + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_server_alias(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_server_alias(PyObject *__pyx_v_self, PyObject *unused) { + char *__pyx_v_c_server_alias; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":85 + * + * def __get_server_alias(self): + * cdef char *c_server_alias = NULL # <<<<<<<<<<<<<< + * c_server_alias = blist.purple_buddy_get_server_alias( \ + * self._get_structure()) + */ + __pyx_v_c_server_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":87 + * cdef char *c_server_alias = NULL + * c_server_alias = blist.purple_buddy_get_server_alias( \ + * self._get_structure()) # <<<<<<<<<<<<<< + * if c_server_alias: + * return c_server_alias + */ + __pyx_v_c_server_alias = ((char *)purple_buddy_get_server_alias(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":88 + * c_server_alias = blist.purple_buddy_get_server_alias( \ + * self._get_structure()) + * if c_server_alias: # <<<<<<<<<<<<<< + * return c_server_alias + * else: + */ + __pyx_1 = (__pyx_v_c_server_alias != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":89 + * self._get_structure()) + * if c_server_alias: + * return c_server_alias # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_server_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":91 + * return c_server_alias + * else: + * return None # <<<<<<<<<<<<<< + * server_alias = property(__get_server_alias) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Buddy.__get_server_alias"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":94 + * server_alias = property(__get_server_alias) + * + * def __get_contact_alias(self): # <<<<<<<<<<<<<< + * cdef char *c_contact_alias = NULL + * c_contact_alias = blist.purple_buddy_get_contact_alias( \ + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_contact_alias(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_contact_alias(PyObject *__pyx_v_self, PyObject *unused) { + char *__pyx_v_c_contact_alias; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":95 + * + * def __get_contact_alias(self): + * cdef char *c_contact_alias = NULL # <<<<<<<<<<<<<< + * c_contact_alias = blist.purple_buddy_get_contact_alias( \ + * self._get_structure()) + */ + __pyx_v_c_contact_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":97 + * cdef char *c_contact_alias = NULL + * c_contact_alias = blist.purple_buddy_get_contact_alias( \ + * self._get_structure()) # <<<<<<<<<<<<<< + * if c_contact_alias: + * return c_contact_alias + */ + __pyx_v_c_contact_alias = ((char *)purple_buddy_get_contact_alias(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":98 + * c_contact_alias = blist.purple_buddy_get_contact_alias( \ + * self._get_structure()) + * if c_contact_alias: # <<<<<<<<<<<<<< + * return c_contact_alias + * else: + */ + __pyx_1 = (__pyx_v_c_contact_alias != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":99 + * self._get_structure()) + * if c_contact_alias: + * return c_contact_alias # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_contact_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":101 + * return c_contact_alias + * else: + * return None # <<<<<<<<<<<<<< + * contact_alias = property(__get_contact_alias) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Buddy.__get_contact_alias"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":104 + * contact_alias = property(__get_contact_alias) + * + * def __get_local_alias(self): # <<<<<<<<<<<<<< + * cdef char *c_local_alias = NULL + * c_local_alias = blist.purple_buddy_get_local_alias( \ + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_local_alias(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_local_alias(PyObject *__pyx_v_self, PyObject *unused) { + char *__pyx_v_c_local_alias; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":105 + * + * def __get_local_alias(self): + * cdef char *c_local_alias = NULL # <<<<<<<<<<<<<< + * c_local_alias = blist.purple_buddy_get_local_alias( \ + * self._get_structure()) + */ + __pyx_v_c_local_alias = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":107 + * cdef char *c_local_alias = NULL + * c_local_alias = blist.purple_buddy_get_local_alias( \ + * self._get_structure()) # <<<<<<<<<<<<<< + * if c_local_alias: + * return c_local_alias + */ + __pyx_v_c_local_alias = ((char *)purple_buddy_get_local_alias(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":108 + * c_local_alias = blist.purple_buddy_get_local_alias( \ + * self._get_structure()) + * if c_local_alias: # <<<<<<<<<<<<<< + * return c_local_alias + * else: + */ + __pyx_1 = (__pyx_v_c_local_alias != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":109 + * self._get_structure()) + * if c_local_alias: + * return c_local_alias # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_local_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":111 + * return c_local_alias + * else: + * return None # <<<<<<<<<<<<<< + * local_alias = property(__get_local_alias) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Buddy.__get_local_alias"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":114 + * local_alias = property(__get_local_alias) + * + * def __get_available(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return status.purple_presence_is_available( \ + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_available(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_available(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":115 + * + * def __get_available(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return status.purple_presence_is_available( \ + * blist.purple_buddy_get_presence(self._get_structure())) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":117 + * if self.__exists: + * return status.purple_presence_is_available( \ + * blist.purple_buddy_get_presence(self._get_structure())) # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = PyInt_FromLong(purple_presence_is_available(purple_buddy_get_presence(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":119 + * blist.purple_buddy_get_presence(self._get_structure())) + * else: + * return None # <<<<<<<<<<<<<< + * available = property(__get_available) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Buddy.__get_available"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":122 + * available = property(__get_available) + * + * def __get_online(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return status.purple_presence_is_online( \ + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_online(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_online(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":123 + * + * def __get_online(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return status.purple_presence_is_online( \ + * blist.purple_buddy_get_presence(self._get_structure())) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":125 + * if self.__exists: + * return status.purple_presence_is_online( \ + * blist.purple_buddy_get_presence(self._get_structure())) # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = PyInt_FromLong(purple_presence_is_online(purple_buddy_get_presence(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":127 + * blist.purple_buddy_get_presence(self._get_structure())) + * else: + * return None # <<<<<<<<<<<<<< + * online = property(__get_online) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Buddy.__get_online"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":130 + * online = property(__get_online) + * + * def __get_idle(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return status.purple_presence_is_idle( \ + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_idle(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_idle(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":131 + * + * def __get_idle(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return status.purple_presence_is_idle( \ + * blist.purple_buddy_get_presence(self._get_structure())) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":133 + * if self.__exists: + * return status.purple_presence_is_idle( \ + * blist.purple_buddy_get_presence(self._get_structure())) # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = PyInt_FromLong(purple_presence_is_idle(purple_buddy_get_presence(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":135 + * blist.purple_buddy_get_presence(self._get_structure())) + * else: + * return None # <<<<<<<<<<<<<< + * idle = property(__get_idle) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Buddy.__get_idle"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":138 + * idle = property(__get_idle) + * + * def __get_active_status(self): # <<<<<<<<<<<<<< + * cdef status.PurpleStatus* c_status = NULL + * cdef char *type = NULL + */ + +static PyObject *__pyx_pf_6purple_5Buddy___get_active_status(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy___get_active_status(PyObject *__pyx_v_self, PyObject *unused) { + PurpleStatus *__pyx_v_c_status; + char *__pyx_v_type; + char *__pyx_v_name; + char *__pyx_v_msg; + PyObject *__pyx_v_active; + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + __pyx_v_active = Py_None; Py_INCREF(Py_None); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":139 + * + * def __get_active_status(self): + * cdef status.PurpleStatus* c_status = NULL # <<<<<<<<<<<<<< + * cdef char *type = NULL + * cdef char *name = NULL + */ + __pyx_v_c_status = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":140 + * def __get_active_status(self): + * cdef status.PurpleStatus* c_status = NULL + * cdef char *type = NULL # <<<<<<<<<<<<<< + * cdef char *name = NULL + * cdef char *msg = NULL + */ + __pyx_v_type = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":141 + * cdef status.PurpleStatus* c_status = NULL + * cdef char *type = NULL + * cdef char *name = NULL # <<<<<<<<<<<<<< + * cdef char *msg = NULL + * if self.__exists: + */ + __pyx_v_name = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":142 + * cdef char *type = NULL + * cdef char *name = NULL + * cdef char *msg = NULL # <<<<<<<<<<<<<< + * if self.__exists: + * active = {} + */ + __pyx_v_msg = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":143 + * cdef char *name = NULL + * cdef char *msg = NULL + * if self.__exists: # <<<<<<<<<<<<<< + * active = {} + * c_status = status.purple_presence_get_active_status( \ + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":144 + * cdef char *msg = NULL + * if self.__exists: + * active = {} # <<<<<<<<<<<<<< + * c_status = status.purple_presence_get_active_status( \ + * blist.purple_buddy_get_presence(self._get_structure())) + */ + __pyx_2 = PyDict_New(); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_v_active); + __pyx_v_active = ((PyObject *)__pyx_2); + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":146 + * active = {} + * c_status = status.purple_presence_get_active_status( \ + * blist.purple_buddy_get_presence(self._get_structure())) # <<<<<<<<<<<<<< + * type = status.purple_status_get_id(c_status) + * name = status.purple_status_get_name(c_status) + */ + __pyx_v_c_status = purple_presence_get_active_status(purple_buddy_get_presence(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":147 + * c_status = status.purple_presence_get_active_status( \ + * blist.purple_buddy_get_presence(self._get_structure())) + * type = status.purple_status_get_id(c_status) # <<<<<<<<<<<<<< + * name = status.purple_status_get_name(c_status) + * msg = status.purple_status_get_attr_string(c_status, + */ + __pyx_v_type = ((char *)purple_status_get_id(__pyx_v_c_status)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":148 + * blist.purple_buddy_get_presence(self._get_structure())) + * type = status.purple_status_get_id(c_status) + * name = status.purple_status_get_name(c_status) # <<<<<<<<<<<<<< + * msg = status.purple_status_get_attr_string(c_status, + * "message") + */ + __pyx_v_name = ((char *)purple_status_get_name(__pyx_v_c_status)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":150 + * name = status.purple_status_get_name(c_status) + * msg = status.purple_status_get_attr_string(c_status, + * "message") # <<<<<<<<<<<<<< + * + * active['type'] = type + */ + __pyx_v_msg = ((char *)purple_status_get_attr_string(__pyx_v_c_status, __pyx_k_458)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":152 + * "message") + * + * active['type'] = type # <<<<<<<<<<<<<< + * active['name'] = name + * if msg: + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetItem(__pyx_v_active, __pyx_kp_459, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":153 + * + * active['type'] = type + * active['name'] = name # <<<<<<<<<<<<<< + * if msg: + * active['message'] = msg + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetItem(__pyx_v_active, __pyx_kp_460, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":154 + * active['type'] = type + * active['name'] = name + * if msg: # <<<<<<<<<<<<<< + * active['message'] = msg + * + */ + __pyx_1 = (__pyx_v_msg != 0); + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":155 + * active['name'] = name + * if msg: + * active['message'] = msg # <<<<<<<<<<<<<< + * + * return active + */ + __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_msg); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetItem(__pyx_v_active, __pyx_kp_461, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + goto __pyx_L6; + } + __pyx_L6:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":157 + * active['message'] = msg + * + * return active # <<<<<<<<<<<<<< + * else: + * return None + */ + Py_INCREF(__pyx_v_active); + __pyx_r = __pyx_v_active; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":159 + * return active + * else: + * return None # <<<<<<<<<<<<<< + * active_status = property(__get_active_status) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Buddy.__get_active_status"); + __pyx_r = NULL; + __pyx_L0:; + Py_DECREF(__pyx_v_active); + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":162 + * active_status = property(__get_active_status) + * + * def set_alias(self, alias): # <<<<<<<<<<<<<< + * if self.__exists: + * blist.purple_blist_alias_buddy(self._get_structure(), alias) + */ + +static PyObject *__pyx_pf_6purple_5Buddy_set_alias(PyObject *__pyx_v_self, PyObject *__pyx_v_alias); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy_set_alias(PyObject *__pyx_v_self, PyObject *__pyx_v_alias) { + PyObject *__pyx_r; + int __pyx_1; + char *__pyx_2; + PyObject *__pyx_3 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":163 + * + * def set_alias(self, alias): + * if self.__exists: # <<<<<<<<<<<<<< + * blist.purple_blist_alias_buddy(self._get_structure(), alias) + * return True + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":164 + * def set_alias(self, alias): + * if self.__exists: + * blist.purple_blist_alias_buddy(self._get_structure(), alias) # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_alias); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_blist_alias_buddy(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)), __pyx_2); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":165 + * if self.__exists: + * blist.purple_blist_alias_buddy(self._get_structure(), alias) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_3 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":167 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def set_group(self, group): + */ + __pyx_3 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + __Pyx_AddTraceback("purple.Buddy.set_alias"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":169 + * return False + * + * def set_group(self, group): # <<<<<<<<<<<<<< + * cdef blist.PurpleContact *c_contact = NULL + * cdef blist.PurpleGroup *c_group = NULL + */ + +static PyObject *__pyx_pf_6purple_5Buddy_set_group(PyObject *__pyx_v_self, PyObject *__pyx_v_group); /*proto*/ +static PyObject *__pyx_pf_6purple_5Buddy_set_group(PyObject *__pyx_v_self, PyObject *__pyx_v_group) { + PurpleContact *__pyx_v_c_contact; + PurpleGroup *__pyx_v_c_group; + PyObject *__pyx_r; + int __pyx_1; + int __pyx_2; + char *__pyx_3; + PyObject *__pyx_4 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":170 + * + * def set_group(self, group): + * cdef blist.PurpleContact *c_contact = NULL # <<<<<<<<<<<<<< + * cdef blist.PurpleGroup *c_group = NULL + * if self.__exists and group: + */ + __pyx_v_c_contact = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":171 + * def set_group(self, group): + * cdef blist.PurpleContact *c_contact = NULL + * cdef blist.PurpleGroup *c_group = NULL # <<<<<<<<<<<<<< + * if self.__exists and group: + * c_group = blist.purple_find_group(group) + */ + __pyx_v_c_group = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":172 + * cdef blist.PurpleContact *c_contact = NULL + * cdef blist.PurpleGroup *c_group = NULL + * if self.__exists and group: # <<<<<<<<<<<<<< + * c_group = blist.purple_find_group(group) + * if c_group == NULL: + */ + __pyx_2 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __pyx_2; + if (__pyx_1) { + __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_v_group); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __pyx_2; + } + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":173 + * cdef blist.PurpleGroup *c_group = NULL + * if self.__exists and group: + * c_group = blist.purple_find_group(group) # <<<<<<<<<<<<<< + * if c_group == NULL: + * c_group = blist.purple_group_new(group) + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_group); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_group = purple_find_group(__pyx_3); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":174 + * if self.__exists and group: + * c_group = blist.purple_find_group(group) + * if c_group == NULL: # <<<<<<<<<<<<<< + * c_group = blist.purple_group_new(group) + * + */ + __pyx_2 = (__pyx_v_c_group == NULL); + if (__pyx_2) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":175 + * c_group = blist.purple_find_group(group) + * if c_group == NULL: + * c_group = blist.purple_group_new(group) # <<<<<<<<<<<<<< + * + * c_contact = blist.purple_buddy_get_contact(self._get_structure()) + */ + __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_group); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_c_group = purple_group_new(__pyx_3); + goto __pyx_L6; + } + __pyx_L6:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":177 + * c_group = blist.purple_group_new(group) + * + * c_contact = blist.purple_buddy_get_contact(self._get_structure()) # <<<<<<<<<<<<<< + * blist.purple_blist_add_contact(c_contact, c_group, NULL) + * return True + */ + __pyx_v_c_contact = purple_buddy_get_contact(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":178 + * + * c_contact = blist.purple_buddy_get_contact(self._get_structure()) + * blist.purple_blist_add_contact(c_contact, c_group, NULL) # <<<<<<<<<<<<<< + * return True + * else: + */ + purple_blist_add_contact(__pyx_v_c_contact, __pyx_v_c_group, NULL); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":179 + * c_contact = blist.purple_buddy_get_contact(self._get_structure()) + * blist.purple_blist_add_contact(c_contact, c_group, NULL) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_4 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":181 + * return True + * else: + * return False # <<<<<<<<<<<<<< + */ + __pyx_4 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Buddy.set_group"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":35 + * cdef object __exists + * + * def __init__(self, type, account, name): # <<<<<<<<<<<<<< + * self.__type = { + * "UNKNOWN": conversation.PURPLE_CONV_TYPE_UNKNOWN, + */ + +static int __pyx_pf_6purple_12Conversation___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pf_6purple_12Conversation___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_type = 0; + PyObject *__pyx_v_account = 0; + PyObject *__pyx_v_name = 0; + int __pyx_r; + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + int __pyx_3; + static PyObject **__pyx_pyargnames[] = {&__pyx_kp_type,&__pyx_kp_account,&__pyx_kp_name,0}; + if (unlikely(__pyx_kwds)) { + PyObject* values[3] = {0,0,0}; + Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 0: + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_type); + if (likely(values[0])) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_account); + if (likely(values[1])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[13]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + case 2: + values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name); + if (likely(values[2])) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[13]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + __pyx_v_type = values[0]; + __pyx_v_account = values[1]; + __pyx_v_name = values[2]; + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + __pyx_v_type = PyTuple_GET_ITEM(__pyx_args, 0); + __pyx_v_account = PyTuple_GET_ITEM(__pyx_args, 1); + __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 2); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[13]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_L3_error:; + __Pyx_AddTraceback("purple.Conversation.__init__"); + return -1; + __pyx_L4_argument_unpacking_done:; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":41 + * "CHAT": conversation.PURPLE_CONV_TYPE_CHAT, + * "MISC": conversation.PURPLE_CONV_TYPE_MISC, + * "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type] # <<<<<<<<<<<<<< + * self.__account = account + * self.__name = name + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":37 + * def __init__(self, type, account, name): + * self.__type = { + * "UNKNOWN": conversation.PURPLE_CONV_TYPE_UNKNOWN, # <<<<<<<<<<<<<< + * "IM": conversation.PURPLE_CONV_TYPE_IM, + * "CHAT": conversation.PURPLE_CONV_TYPE_CHAT, + */ + __pyx_2 = PyInt_FromLong(PURPLE_CONV_TYPE_UNKNOWN); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_462, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":38 + * self.__type = { + * "UNKNOWN": conversation.PURPLE_CONV_TYPE_UNKNOWN, + * "IM": conversation.PURPLE_CONV_TYPE_IM, # <<<<<<<<<<<<<< + * "CHAT": conversation.PURPLE_CONV_TYPE_CHAT, + * "MISC": conversation.PURPLE_CONV_TYPE_MISC, + */ + __pyx_2 = PyInt_FromLong(PURPLE_CONV_TYPE_IM); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_463, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":39 + * "UNKNOWN": conversation.PURPLE_CONV_TYPE_UNKNOWN, + * "IM": conversation.PURPLE_CONV_TYPE_IM, + * "CHAT": conversation.PURPLE_CONV_TYPE_CHAT, # <<<<<<<<<<<<<< + * "MISC": conversation.PURPLE_CONV_TYPE_MISC, + * "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type] + */ + __pyx_2 = PyInt_FromLong(PURPLE_CONV_TYPE_CHAT); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_464, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":40 + * "IM": conversation.PURPLE_CONV_TYPE_IM, + * "CHAT": conversation.PURPLE_CONV_TYPE_CHAT, + * "MISC": conversation.PURPLE_CONV_TYPE_MISC, # <<<<<<<<<<<<<< + * "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type] + * self.__account = account + */ + __pyx_2 = PyInt_FromLong(PURPLE_CONV_TYPE_MISC); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_465, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":41 + * "CHAT": conversation.PURPLE_CONV_TYPE_CHAT, + * "MISC": conversation.PURPLE_CONV_TYPE_MISC, + * "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type] # <<<<<<<<<<<<<< + * self.__account = account + * self.__name = name + */ + __pyx_2 = PyInt_FromLong(PURPLE_CONV_TYPE_ANY); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_1, __pyx_kp_466, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_2 = PyObject_GetItem(((PyObject *)__pyx_1), __pyx_v_type); if (!__pyx_2) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":36 + * + * def __init__(self, type, account, name): + * self.__type = { # <<<<<<<<<<<<<< + * "UNKNOWN": conversation.PURPLE_CONV_TYPE_UNKNOWN, + * "IM": conversation.PURPLE_CONV_TYPE_IM, + */ + Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__type); + ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__type = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":42 + * "MISC": conversation.PURPLE_CONV_TYPE_MISC, + * "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type] + * self.__account = account # <<<<<<<<<<<<<< + * self.__name = name + * + */ + Py_INCREF(__pyx_v_account); + Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account); + ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account = __pyx_v_account; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":43 + * "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type] + * self.__account = account + * self.__name = name # <<<<<<<<<<<<<< + * + * if self._get_structure() != NULL: + */ + Py_INCREF(__pyx_v_name); + Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__name); + ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__name = __pyx_v_name; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":45 + * self.__name = name + * + * if self._get_structure() != NULL: # <<<<<<<<<<<<<< + * self.__exists = True + * else: + */ + __pyx_3 = (((struct __pyx_vtabstruct_6purple_Conversation *)((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)) != NULL); + if (__pyx_3) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":46 + * + * if self._get_structure() != NULL: + * self.__exists = True # <<<<<<<<<<<<<< + * else: + * self.__exists = False + */ + __pyx_1 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists = __pyx_1; + __pyx_1 = 0; + goto __pyx_L6; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":48 + * self.__exists = True + * else: + * self.__exists = False # <<<<<<<<<<<<<< + * + * cdef conversation.PurpleConversation *_get_structure(self): + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists = __pyx_2; + __pyx_2 = 0; + } + __pyx_L6:; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Conversation.__init__"); + __pyx_r = -1; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":50 + * self.__exists = False + * + * cdef conversation.PurpleConversation *_get_structure(self): # <<<<<<<<<<<<<< + * return conversation.purple_find_conversation_with_account( \ + * self.__type, self.__name, account.purple_accounts_find( \ + */ + +static PurpleConversation *__pyx_f_6purple_12Conversation__get_structure(struct __pyx_obj_6purple_Conversation *__pyx_v_self) { + PurpleConversation *__pyx_r; + PurpleConversationType __pyx_1; + char *__pyx_2; + PyObject *__pyx_3 = 0; + char *__pyx_4; + PyObject *__pyx_5 = 0; + char *__pyx_6; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":52 + * cdef conversation.PurpleConversation *_get_structure(self): + * return conversation.purple_find_conversation_with_account( \ + * self.__type, self.__name, account.purple_accounts_find( \ # <<<<<<<<<<<<<< + * self.__account.username, self.__account.protocol.id)) + * + */ + __pyx_1 = ((PurpleConversationType)PyInt_AsLong(__pyx_v_self->__type)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_self->__name); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":53 + * return conversation.purple_find_conversation_with_account( \ + * self.__type, self.__name, account.purple_accounts_find( \ + * self.__account.username, self.__account.protocol.id)) # <<<<<<<<<<<<<< + * + * def __get_exists(self): + */ + __pyx_3 = PyObject_GetAttr(__pyx_v_self->__account, __pyx_kp_username); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = __Pyx_PyBytes_AsString(__pyx_3); if (unlikely((!__pyx_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_3 = PyObject_GetAttr(__pyx_v_self->__account, __pyx_kp_protocol); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_5 = PyObject_GetAttr(__pyx_3, __pyx_kp_id); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_6 = __Pyx_PyBytes_AsString(__pyx_5); if (unlikely((!__pyx_6) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + __pyx_r = purple_find_conversation_with_account(__pyx_1, __pyx_2, purple_accounts_find(__pyx_4, __pyx_6)); + goto __pyx_L0; + + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_5); + __Pyx_WriteUnraisable("purple.Conversation._get_structure"); + __pyx_r = 0; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":55 + * self.__account.username, self.__account.protocol.id)) + * + * def __get_exists(self): # <<<<<<<<<<<<<< + * return self.__exists + * exists = property(__get_exists) + */ + +static PyObject *__pyx_pf_6purple_12Conversation___get_exists(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_12Conversation___get_exists(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":56 + * + * def __get_exists(self): + * return self.__exists # <<<<<<<<<<<<<< + * exists = property(__get_exists) + * + */ + Py_INCREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); + __pyx_r = ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":59 + * exists = property(__get_exists) + * + * def __get_account(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return self.__account + */ + +static PyObject *__pyx_pf_6purple_12Conversation___get_account(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_12Conversation___get_account(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":60 + * + * def __get_account(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return self.__account + * else: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":61 + * def __get_account(self): + * if self.__exists: + * return self.__account # <<<<<<<<<<<<<< + * else: + * return None + */ + Py_INCREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account); + __pyx_r = ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":63 + * return self.__account + * else: + * return None # <<<<<<<<<<<<<< + * account = property(__get_account) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("purple.Conversation.__get_account"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":66 + * account = property(__get_account) + * + * def __get_name(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return conversation.purple_conversation_get_name( \ + */ + +static PyObject *__pyx_pf_6purple_12Conversation___get_name(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static PyObject *__pyx_pf_6purple_12Conversation___get_name(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":67 + * + * def __get_name(self): + * if self.__exists: # <<<<<<<<<<<<<< + * return conversation.purple_conversation_get_name( \ + * self._get_structure()) + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":69 + * if self.__exists: + * return conversation.purple_conversation_get_name( \ + * self._get_structure()) # <<<<<<<<<<<<<< + * else: + * return None + */ + __pyx_2 = __Pyx_PyBytes_FromString(((char *)purple_conversation_get_name(((struct __pyx_vtabstruct_6purple_Conversation *)((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self))))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":71 + * self._get_structure()) + * else: + * return None # <<<<<<<<<<<<<< + * name = property(__get_name) + * + */ + Py_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Conversation.__get_name"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":74 + * name = property(__get_name) + * + * def new(self): # <<<<<<<<<<<<<< + * """ + * Creates a new conversation. + */ + +static PyObject *__pyx_pf_6purple_12Conversation_new(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static char __pyx_doc_6purple_12Conversation_new[] = "\n Creates a new conversation.\n\n @return True if successful, False if conversation already exists\n "; +static PyObject *__pyx_pf_6purple_12Conversation_new(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + int __pyx_3; + char *__pyx_4; + PyObject *__pyx_5 = 0; + char *__pyx_6; + char *__pyx_7; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":80 + * @return True if successful, False if conversation already exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * return False + * else: + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":81 + * """ + * if self.__exists: + * return False # <<<<<<<<<<<<<< + * else: + * conversation.purple_conversation_new(self.__type, \ + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":83 + * return False + * else: + * conversation.purple_conversation_new(self.__type, \ # <<<<<<<<<<<<<< + * account.purple_accounts_find(self.__account.username, \ + * self.__account.protocol.id), self.__name) + */ + __pyx_3 = __pyx_PyInt_int(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__type); if (unlikely((__pyx_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":84 + * else: + * conversation.purple_conversation_new(self.__type, \ + * account.purple_accounts_find(self.__account.username, \ # <<<<<<<<<<<<<< + * self.__account.protocol.id), self.__name) + * self.__exists = True + */ + __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account, __pyx_kp_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":85 + * conversation.purple_conversation_new(self.__type, \ + * account.purple_accounts_find(self.__account.username, \ + * self.__account.protocol.id), self.__name) # <<<<<<<<<<<<<< + * self.__exists = True + * return True + */ + __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account, __pyx_kp_protocol); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_5 = PyObject_GetAttr(__pyx_2, __pyx_kp_id); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_6 = __Pyx_PyBytes_AsString(__pyx_5); if (unlikely((!__pyx_6) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_5); __pyx_5 = 0; + __pyx_7 = __Pyx_PyBytes_AsString(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__name); if (unlikely((!__pyx_7) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_conversation_new(__pyx_3, purple_accounts_find(__pyx_4, __pyx_6), __pyx_7); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":86 + * account.purple_accounts_find(self.__account.username, \ + * self.__account.protocol.id), self.__name) + * self.__exists = True # <<<<<<<<<<<<<< + * return True + * + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":87 + * self.__account.protocol.id), self.__name) + * self.__exists = True + * return True # <<<<<<<<<<<<<< + * + * def destroy(self): + */ + __pyx_5 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_5; + __pyx_5 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + Py_XDECREF(__pyx_5); + __Pyx_AddTraceback("purple.Conversation.new"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":89 + * return True + * + * def destroy(self): # <<<<<<<<<<<<<< + * """ + * Destroys a conversation. + */ + +static PyObject *__pyx_pf_6purple_12Conversation_destroy(PyObject *__pyx_v_self, PyObject *unused); /*proto*/ +static char __pyx_doc_6purple_12Conversation_destroy[] = "\n Destroys a conversation.\n\n @return True if successful, False if conversation doesn't exists\n "; +static PyObject *__pyx_pf_6purple_12Conversation_destroy(PyObject *__pyx_v_self, PyObject *unused) { + PyObject *__pyx_r; + int __pyx_1; + PyObject *__pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":95 + * @return True if successful, False if conversation doesn't exists + * """ + * if self.__exists: # <<<<<<<<<<<<<< + * conversation.purple_conversation_destroy(self._get_structure()) + * self.__exists = False + */ + __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":96 + * """ + * if self.__exists: + * conversation.purple_conversation_destroy(self._get_structure()) # <<<<<<<<<<<<<< + * self.__exists = False + * return True + */ + purple_conversation_destroy(((struct __pyx_vtabstruct_6purple_Conversation *)((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self))); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":97 + * if self.__exists: + * conversation.purple_conversation_destroy(self._get_structure()) + * self.__exists = False # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); + ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists = __pyx_2; + __pyx_2 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":98 + * conversation.purple_conversation_destroy(self._get_structure()) + * self.__exists = False + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":100 + * return True + * else: + * return False # <<<<<<<<<<<<<< + * + * def set_ui_ops(self, cbs): + */ + __pyx_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_2; + __pyx_2 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple.Conversation.destroy"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":102 + * return False + * + * def set_ui_ops(self, cbs): # <<<<<<<<<<<<<< + * """ + * Sets UI operations for a conversation. + */ + +static PyObject *__pyx_pf_6purple_12Conversation_set_ui_ops(PyObject *__pyx_v_self, PyObject *__pyx_v_cbs); /*proto*/ +static char __pyx_doc_6purple_12Conversation_set_ui_ops[] = "\n Sets UI operations for a conversation.\n\n @return True if sucessful, False otherwise\n "; +static PyObject *__pyx_pf_6purple_12Conversation_set_ui_ops(PyObject *__pyx_v_self, PyObject *__pyx_v_cbs) { + PurpleConversationUiOps __pyx_v_c_conv_ui_ops; + PyObject *__pyx_r; + PyObject *__pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":111 + * cdef conversation.PurpleConversationUiOps c_conv_ui_ops + * + * c_conv_ui_ops.create_conversation = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.destroy_conversation = NULL + * c_conv_ui_ops.write_chat = NULL + */ + __pyx_v_c_conv_ui_ops.create_conversation = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":112 + * + * c_conv_ui_ops.create_conversation = NULL + * c_conv_ui_ops.destroy_conversation = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.write_chat = NULL + * c_conv_ui_ops.write_im = NULL + */ + __pyx_v_c_conv_ui_ops.destroy_conversation = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":113 + * c_conv_ui_ops.create_conversation = NULL + * c_conv_ui_ops.destroy_conversation = NULL + * c_conv_ui_ops.write_chat = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.write_im = NULL + * c_conv_ui_ops.write_conv = NULL + */ + __pyx_v_c_conv_ui_ops.write_chat = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":114 + * c_conv_ui_ops.destroy_conversation = NULL + * c_conv_ui_ops.write_chat = NULL + * c_conv_ui_ops.write_im = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.write_conv = NULL + * c_conv_ui_ops.chat_add_users = NULL + */ + __pyx_v_c_conv_ui_ops.write_im = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":115 + * c_conv_ui_ops.write_chat = NULL + * c_conv_ui_ops.write_im = NULL + * c_conv_ui_ops.write_conv = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.chat_add_users = NULL + * c_conv_ui_ops.chat_rename_user = NULL + */ + __pyx_v_c_conv_ui_ops.write_conv = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":116 + * c_conv_ui_ops.write_im = NULL + * c_conv_ui_ops.write_conv = NULL + * c_conv_ui_ops.chat_add_users = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.chat_rename_user = NULL + * c_conv_ui_ops.chat_remove_users = NULL + */ + __pyx_v_c_conv_ui_ops.chat_add_users = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":117 + * c_conv_ui_ops.write_conv = NULL + * c_conv_ui_ops.chat_add_users = NULL + * c_conv_ui_ops.chat_rename_user = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.chat_remove_users = NULL + * c_conv_ui_ops.chat_update_user = NULL + */ + __pyx_v_c_conv_ui_ops.chat_rename_user = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":118 + * c_conv_ui_ops.chat_add_users = NULL + * c_conv_ui_ops.chat_rename_user = NULL + * c_conv_ui_ops.chat_remove_users = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.chat_update_user = NULL + * c_conv_ui_ops.present = NULL + */ + __pyx_v_c_conv_ui_ops.chat_remove_users = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":119 + * c_conv_ui_ops.chat_rename_user = NULL + * c_conv_ui_ops.chat_remove_users = NULL + * c_conv_ui_ops.chat_update_user = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.present = NULL + * c_conv_ui_ops.has_focus = NULL + */ + __pyx_v_c_conv_ui_ops.chat_update_user = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":120 + * c_conv_ui_ops.chat_remove_users = NULL + * c_conv_ui_ops.chat_update_user = NULL + * c_conv_ui_ops.present = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.has_focus = NULL + * c_conv_ui_ops.custom_smiley_add = NULL + */ + __pyx_v_c_conv_ui_ops.present = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":121 + * c_conv_ui_ops.chat_update_user = NULL + * c_conv_ui_ops.present = NULL + * c_conv_ui_ops.has_focus = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.custom_smiley_add = NULL + * c_conv_ui_ops.custom_smiley_write = NULL + */ + __pyx_v_c_conv_ui_ops.has_focus = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":122 + * c_conv_ui_ops.present = NULL + * c_conv_ui_ops.has_focus = NULL + * c_conv_ui_ops.custom_smiley_add = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.custom_smiley_write = NULL + * c_conv_ui_ops.custom_smiley_close = NULL + */ + __pyx_v_c_conv_ui_ops.custom_smiley_add = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":123 + * c_conv_ui_ops.has_focus = NULL + * c_conv_ui_ops.custom_smiley_add = NULL + * c_conv_ui_ops.custom_smiley_write = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.custom_smiley_close = NULL + * c_conv_ui_ops.send_confirm = NULL + */ + __pyx_v_c_conv_ui_ops.custom_smiley_write = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":124 + * c_conv_ui_ops.custom_smiley_add = NULL + * c_conv_ui_ops.custom_smiley_write = NULL + * c_conv_ui_ops.custom_smiley_close = NULL # <<<<<<<<<<<<<< + * c_conv_ui_ops.send_confirm = NULL + * + */ + __pyx_v_c_conv_ui_ops.custom_smiley_close = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":125 + * c_conv_ui_ops.custom_smiley_write = NULL + * c_conv_ui_ops.custom_smiley_close = NULL + * c_conv_ui_ops.send_confirm = NULL # <<<<<<<<<<<<<< + * + * conversation.purple_conversation_set_ui_ops(self._get_structure(), \ + */ + __pyx_v_c_conv_ui_ops.send_confirm = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":128 + * + * conversation.purple_conversation_set_ui_ops(self._get_structure(), \ + * &c_conv_ui_ops) # <<<<<<<<<<<<<< + * return True + * + */ + purple_conversation_set_ui_ops(((struct __pyx_vtabstruct_6purple_Conversation *)((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)), (&__pyx_v_c_conv_ui_ops)); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":129 + * conversation.purple_conversation_set_ui_ops(self._get_structure(), \ + * &c_conv_ui_ops) + * return True # <<<<<<<<<<<<<< + * + * def im_send(self, message): + */ + __pyx_1 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_1; + __pyx_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + __Pyx_AddTraceback("purple.Conversation.set_ui_ops"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} + +/* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":131 + * return True + * + * def im_send(self, message): # <<<<<<<<<<<<<< + * """ + * Sends a message to this IM conversation. + */ + +static PyObject *__pyx_pf_6purple_12Conversation_im_send(PyObject *__pyx_v_self, PyObject *__pyx_v_message); /*proto*/ +static char __pyx_doc_6purple_12Conversation_im_send[] = "\n Sends a message to this IM conversation.\n\n @return True if successful, False if conversation is not IM or conversation doesn't exists\n "; +static PyObject *__pyx_pf_6purple_12Conversation_im_send(PyObject *__pyx_v_self, PyObject *__pyx_v_message) { + PyObject *__pyx_r; + int __pyx_1; + int __pyx_2; + PyObject *__pyx_3 = 0; + PyObject *__pyx_4 = 0; + char *__pyx_5; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":137 + * @return True if successful, False if conversation is not IM or conversation doesn't exists + * """ + * if self.__exists and self.__type == conversation.PURPLE_CONV_TYPE_IM: # <<<<<<<<<<<<<< + * conversation.purple_conv_im_send( \ + * conversation.purple_conversation_get_im_data( \ + */ + __pyx_2 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = __pyx_2; + if (__pyx_1) { + __pyx_3 = PyInt_FromLong(PURPLE_CONV_TYPE_IM); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_4 = PyObject_RichCompare(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__type, __pyx_3, Py_EQ); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_4); __pyx_4 = 0; + } + if (__pyx_1) { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":140 + * conversation.purple_conv_im_send( \ + * conversation.purple_conversation_get_im_data( \ + * self._get_structure()), message) # <<<<<<<<<<<<<< + * return True + * else: + */ + __pyx_5 = __Pyx_PyBytes_AsString(__pyx_v_message); if (unlikely((!__pyx_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + purple_conv_im_send(purple_conversation_get_im_data(((struct __pyx_vtabstruct_6purple_Conversation *)((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self))), __pyx_5); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":141 + * conversation.purple_conversation_get_im_data( \ + * self._get_structure()), message) + * return True # <<<<<<<<<<<<<< + * else: + * return False + */ + __pyx_3 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_3; + __pyx_3 = 0; + goto __pyx_L0; + goto __pyx_L5; + } + /*else*/ { + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":143 + * return True + * else: + * return False # <<<<<<<<<<<<<< + */ + __pyx_4 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_r = __pyx_4; + __pyx_4 = 0; + goto __pyx_L0; + } + __pyx_L5:; + + __pyx_r = Py_None; Py_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + Py_XDECREF(__pyx_3); + Py_XDECREF(__pyx_4); + __Pyx_AddTraceback("purple.Conversation.im_send"); + __pyx_r = NULL; + __pyx_L0:; + return __pyx_r; +} +static struct __pyx_vtabstruct_6purple_Purple __pyx_vtable_6purple_Purple; + +static PyObject *__pyx_tp_new_6purple_Purple(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_6purple_Purple *p; + PyObject *o = (*t->tp_alloc)(t, 0); + if (!o) return 0; + p = ((struct __pyx_obj_6purple_Purple *)o); + p->__pyx_vtab = __pyx_vtabptr_6purple_Purple; + return o; +} + +static void __pyx_tp_dealloc_6purple_Purple(PyObject *o) { + (*Py_TYPE(o)->tp_free)(o); +} + +static struct PyMethodDef __pyx_methods_6purple_Purple[] = { + {"destroy", (PyCFunction)__pyx_pf_6purple_6Purple_destroy, METH_NOARGS, 0}, + {"__get_ui_name", (PyCFunction)__pyx_pf_6purple_6Purple___get_ui_name, METH_NOARGS, 0}, + {"__glib_iteration_when_idle", (PyCFunction)__pyx_pf_6purple_6Purple___glib_iteration_when_idle, METH_NOARGS, 0}, + {"purple_init", (PyCFunction)__pyx_pf_6purple_6Purple_purple_init, METH_NOARGS, __pyx_doc_6purple_6Purple_purple_init}, + {"add_callback", (PyCFunction)__pyx_pf_6purple_6Purple_add_callback, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6purple_6Purple_add_callback}, + {"signal_connect", (PyCFunction)__pyx_pf_6purple_6Purple_signal_connect, METH_VARARGS|METH_KEYWORDS, 0}, + {"accounts_get_all", (PyCFunction)__pyx_pf_6purple_6Purple_accounts_get_all, METH_NOARGS, 0}, + {"accounts_get_all_active", (PyCFunction)__pyx_pf_6purple_6Purple_accounts_get_all_active, METH_NOARGS, 0}, + {"protocols_get_all", (PyCFunction)__pyx_pf_6purple_6Purple_protocols_get_all, METH_NOARGS, 0}, + {0, 0, 0, 0} +}; + +static PyNumberMethods __pyx_tp_as_number_Purple = { + 0, /*nb_add*/ + 0, /*nb_subtract*/ + 0, /*nb_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_divide*/ + #endif + 0, /*nb_remainder*/ + 0, /*nb_divmod*/ + 0, /*nb_power*/ + 0, /*nb_negative*/ + 0, /*nb_positive*/ + 0, /*nb_absolute*/ + 0, /*nb_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_coerce*/ + #endif + 0, /*nb_int*/ + 0, /*nb_long*/ + 0, /*nb_float*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_oct*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*nb_hex*/ + #endif + 0, /*nb_inplace_add*/ + 0, /*nb_inplace_subtract*/ + 0, /*nb_inplace_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_inplace_divide*/ + #endif + 0, /*nb_inplace_remainder*/ + 0, /*nb_inplace_power*/ + 0, /*nb_inplace_lshift*/ + 0, /*nb_inplace_rshift*/ + 0, /*nb_inplace_and*/ + 0, /*nb_inplace_xor*/ + 0, /*nb_inplace_or*/ + 0, /*nb_floor_divide*/ + 0, /*nb_true_divide*/ + 0, /*nb_inplace_floor_divide*/ + 0, /*nb_inplace_true_divide*/ + #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX) + 0, /*nb_index*/ + #endif +}; + +static PySequenceMethods __pyx_tp_as_sequence_Purple = { + 0, /*sq_length*/ + 0, /*sq_concat*/ + 0, /*sq_repeat*/ + 0, /*sq_item*/ + 0, /*sq_slice*/ + 0, /*sq_ass_item*/ + 0, /*sq_ass_slice*/ + 0, /*sq_contains*/ + 0, /*sq_inplace_concat*/ + 0, /*sq_inplace_repeat*/ +}; + +static PyMappingMethods __pyx_tp_as_mapping_Purple = { + 0, /*mp_length*/ + 0, /*mp_subscript*/ + 0, /*mp_ass_subscript*/ +}; + +static PyBufferProcs __pyx_tp_as_buffer_Purple = { + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getreadbuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getwritebuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getsegcount*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getcharbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_getbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_releasebuffer*/ + #endif +}; + +PyTypeObject __pyx_type_6purple_Purple = { + PyVarObject_HEAD_INIT(0, 0) + "purple.Purple", /*tp_name*/ + sizeof(struct __pyx_obj_6purple_Purple), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_6purple_Purple, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + &__pyx_tp_as_number_Purple, /*tp_as_number*/ + &__pyx_tp_as_sequence_Purple, /*tp_as_sequence*/ + &__pyx_tp_as_mapping_Purple, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + &__pyx_tp_as_buffer_Purple, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER, /*tp_flags*/ + " Purple class.\n\n @param debug_enabled: Toggle debug messages.\n @param default_path: Full path for libpurple user files.\n ", /*tp_doc*/ + 0, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_6purple_Purple, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pf_6purple_6Purple___init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_6purple_Purple, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ +}; +static struct __pyx_vtabstruct_6purple_Protocol __pyx_vtable_6purple_Protocol; + +static PyObject *__pyx_tp_new_6purple_Protocol(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_6purple_Protocol *p; + PyObject *o = (*t->tp_alloc)(t, 0); + if (!o) return 0; + p = ((struct __pyx_obj_6purple_Protocol *)o); + p->__pyx_vtab = __pyx_vtabptr_6purple_Protocol; + p->__id = Py_None; Py_INCREF(Py_None); + p->__exists = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_6purple_Protocol(PyObject *o) { + struct __pyx_obj_6purple_Protocol *p = (struct __pyx_obj_6purple_Protocol *)o; + Py_XDECREF(p->__id); + Py_XDECREF(p->__exists); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_6purple_Protocol(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_6purple_Protocol *p = (struct __pyx_obj_6purple_Protocol *)o; + if (p->__id) { + e = (*v)(p->__id, a); if (e) return e; + } + if (p->__exists) { + e = (*v)(p->__exists, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_6purple_Protocol(PyObject *o) { + struct __pyx_obj_6purple_Protocol *p = (struct __pyx_obj_6purple_Protocol *)o; + PyObject* tmp; + tmp = ((PyObject*)p->__id); + p->__id = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__exists); + p->__exists = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static struct PyMethodDef __pyx_methods_6purple_Protocol[] = { + {"__get_exists", (PyCFunction)__pyx_pf_6purple_8Protocol___get_exists, METH_NOARGS, 0}, + {"__get_id", (PyCFunction)__pyx_pf_6purple_8Protocol___get_id, METH_NOARGS, 0}, + {"__get_name", (PyCFunction)__pyx_pf_6purple_8Protocol___get_name, METH_NOARGS, 0}, + {"__get_options_labels", (PyCFunction)__pyx_pf_6purple_8Protocol___get_options_labels, METH_NOARGS, 0}, + {"__get_options_values", (PyCFunction)__pyx_pf_6purple_8Protocol___get_options_values, METH_NOARGS, 0}, + {0, 0, 0, 0} +}; + +static PyNumberMethods __pyx_tp_as_number_Protocol = { + 0, /*nb_add*/ + 0, /*nb_subtract*/ + 0, /*nb_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_divide*/ + #endif + 0, /*nb_remainder*/ + 0, /*nb_divmod*/ + 0, /*nb_power*/ + 0, /*nb_negative*/ + 0, /*nb_positive*/ + 0, /*nb_absolute*/ + 0, /*nb_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_coerce*/ + #endif + 0, /*nb_int*/ + 0, /*nb_long*/ + 0, /*nb_float*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_oct*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*nb_hex*/ + #endif + 0, /*nb_inplace_add*/ + 0, /*nb_inplace_subtract*/ + 0, /*nb_inplace_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_inplace_divide*/ + #endif + 0, /*nb_inplace_remainder*/ + 0, /*nb_inplace_power*/ + 0, /*nb_inplace_lshift*/ + 0, /*nb_inplace_rshift*/ + 0, /*nb_inplace_and*/ + 0, /*nb_inplace_xor*/ + 0, /*nb_inplace_or*/ + 0, /*nb_floor_divide*/ + 0, /*nb_true_divide*/ + 0, /*nb_inplace_floor_divide*/ + 0, /*nb_inplace_true_divide*/ + #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX) + 0, /*nb_index*/ + #endif +}; + +static PySequenceMethods __pyx_tp_as_sequence_Protocol = { + 0, /*sq_length*/ + 0, /*sq_concat*/ + 0, /*sq_repeat*/ + 0, /*sq_item*/ + 0, /*sq_slice*/ + 0, /*sq_ass_item*/ + 0, /*sq_ass_slice*/ + 0, /*sq_contains*/ + 0, /*sq_inplace_concat*/ + 0, /*sq_inplace_repeat*/ +}; + +static PyMappingMethods __pyx_tp_as_mapping_Protocol = { + 0, /*mp_length*/ + 0, /*mp_subscript*/ + 0, /*mp_ass_subscript*/ +}; + +static PyBufferProcs __pyx_tp_as_buffer_Protocol = { + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getreadbuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getwritebuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getsegcount*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getcharbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_getbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_releasebuffer*/ + #endif +}; + +PyTypeObject __pyx_type_6purple_Protocol = { + PyVarObject_HEAD_INIT(0, 0) + "purple.Protocol", /*tp_name*/ + sizeof(struct __pyx_obj_6purple_Protocol), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_6purple_Protocol, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + &__pyx_tp_as_number_Protocol, /*tp_as_number*/ + &__pyx_tp_as_sequence_Protocol, /*tp_as_sequence*/ + &__pyx_tp_as_mapping_Protocol, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + &__pyx_tp_as_buffer_Protocol, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + "\n Protocol class\n @param id\n ", /*tp_doc*/ + __pyx_tp_traverse_6purple_Protocol, /*tp_traverse*/ + __pyx_tp_clear_6purple_Protocol, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_6purple_Protocol, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pf_6purple_8Protocol___init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_6purple_Protocol, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ +}; + +static PyObject *__pyx_tp_new_6purple_ProxyInfoType(PyTypeObject *t, PyObject *a, PyObject *k) { + PyObject *o = (*t->tp_alloc)(t, 0); + if (!o) return 0; + return o; +} + +static void __pyx_tp_dealloc_6purple_ProxyInfoType(PyObject *o) { + (*Py_TYPE(o)->tp_free)(o); +} + +static struct PyMethodDef __pyx_methods_6purple_ProxyInfoType[] = { + {"get_NONE", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_NONE, METH_NOARGS, 0}, + {"get_USE_GLOBAL", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_USE_GLOBAL, METH_NOARGS, 0}, + {"get_HTTP", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_HTTP, METH_NOARGS, 0}, + {"get_SOCKS4", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_SOCKS4, METH_NOARGS, 0}, + {"get_SOCKS5", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_SOCKS5, METH_NOARGS, 0}, + {"get_USE_ENVVAR", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_USE_ENVVAR, METH_NOARGS, 0}, + {0, 0, 0, 0} +}; + +static PyNumberMethods __pyx_tp_as_number_ProxyInfoType = { + 0, /*nb_add*/ + 0, /*nb_subtract*/ + 0, /*nb_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_divide*/ + #endif + 0, /*nb_remainder*/ + 0, /*nb_divmod*/ + 0, /*nb_power*/ + 0, /*nb_negative*/ + 0, /*nb_positive*/ + 0, /*nb_absolute*/ + 0, /*nb_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_coerce*/ + #endif + 0, /*nb_int*/ + 0, /*nb_long*/ + 0, /*nb_float*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_oct*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*nb_hex*/ + #endif + 0, /*nb_inplace_add*/ + 0, /*nb_inplace_subtract*/ + 0, /*nb_inplace_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_inplace_divide*/ + #endif + 0, /*nb_inplace_remainder*/ + 0, /*nb_inplace_power*/ + 0, /*nb_inplace_lshift*/ + 0, /*nb_inplace_rshift*/ + 0, /*nb_inplace_and*/ + 0, /*nb_inplace_xor*/ + 0, /*nb_inplace_or*/ + 0, /*nb_floor_divide*/ + 0, /*nb_true_divide*/ + 0, /*nb_inplace_floor_divide*/ + 0, /*nb_inplace_true_divide*/ + #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX) + 0, /*nb_index*/ + #endif +}; + +static PySequenceMethods __pyx_tp_as_sequence_ProxyInfoType = { + 0, /*sq_length*/ + 0, /*sq_concat*/ + 0, /*sq_repeat*/ + 0, /*sq_item*/ + 0, /*sq_slice*/ + 0, /*sq_ass_item*/ + 0, /*sq_ass_slice*/ + 0, /*sq_contains*/ + 0, /*sq_inplace_concat*/ + 0, /*sq_inplace_repeat*/ +}; + +static PyMappingMethods __pyx_tp_as_mapping_ProxyInfoType = { + 0, /*mp_length*/ + 0, /*mp_subscript*/ + 0, /*mp_ass_subscript*/ +}; + +static PyBufferProcs __pyx_tp_as_buffer_ProxyInfoType = { + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getreadbuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getwritebuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getsegcount*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getcharbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_getbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_releasebuffer*/ + #endif +}; + +PyTypeObject __pyx_type_6purple_ProxyInfoType = { + PyVarObject_HEAD_INIT(0, 0) + "purple.ProxyInfoType", /*tp_name*/ + sizeof(struct __pyx_obj_6purple_ProxyInfoType), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_6purple_ProxyInfoType, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + &__pyx_tp_as_number_ProxyInfoType, /*tp_as_number*/ + &__pyx_tp_as_sequence_ProxyInfoType, /*tp_as_sequence*/ + &__pyx_tp_as_mapping_ProxyInfoType, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + &__pyx_tp_as_buffer_ProxyInfoType, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER, /*tp_flags*/ + 0, /*tp_doc*/ + 0, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_6purple_ProxyInfoType, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pf_6purple_13ProxyInfoType___init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_6purple_ProxyInfoType, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ +}; + +static PyObject *__pyx_tp_new_6purple_ProxyInfo(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_6purple_ProxyInfo *p; + PyObject *o = (*t->tp_alloc)(t, 0); + if (!o) return 0; + p = ((struct __pyx_obj_6purple_ProxyInfo *)o); + p->types = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_6purple_ProxyInfo(PyObject *o) { + struct __pyx_obj_6purple_ProxyInfo *p = (struct __pyx_obj_6purple_ProxyInfo *)o; + Py_XDECREF(p->types); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_6purple_ProxyInfo(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_6purple_ProxyInfo *p = (struct __pyx_obj_6purple_ProxyInfo *)o; + if (p->types) { + e = (*v)(p->types, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_6purple_ProxyInfo(PyObject *o) { + struct __pyx_obj_6purple_ProxyInfo *p = (struct __pyx_obj_6purple_ProxyInfo *)o; + PyObject* tmp; + tmp = ((PyObject*)p->types); + p->types = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static struct PyMethodDef __pyx_methods_6purple_ProxyInfo[] = { + {"set_type", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_type, METH_O, 0}, + {"set_host", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_host, METH_O, 0}, + {"set_port", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_port, METH_O, 0}, + {"set_username", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_username, METH_O, 0}, + {"set_password", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_password, METH_O, 0}, + {"get_types", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_get_types, METH_NOARGS, 0}, + {"set_info", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6purple_9ProxyInfo_set_info}, + {0, 0, 0, 0} +}; + +static PyNumberMethods __pyx_tp_as_number_ProxyInfo = { + 0, /*nb_add*/ + 0, /*nb_subtract*/ + 0, /*nb_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_divide*/ + #endif + 0, /*nb_remainder*/ + 0, /*nb_divmod*/ + 0, /*nb_power*/ + 0, /*nb_negative*/ + 0, /*nb_positive*/ + 0, /*nb_absolute*/ + 0, /*nb_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_coerce*/ + #endif + 0, /*nb_int*/ + 0, /*nb_long*/ + 0, /*nb_float*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_oct*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*nb_hex*/ + #endif + 0, /*nb_inplace_add*/ + 0, /*nb_inplace_subtract*/ + 0, /*nb_inplace_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_inplace_divide*/ + #endif + 0, /*nb_inplace_remainder*/ + 0, /*nb_inplace_power*/ + 0, /*nb_inplace_lshift*/ + 0, /*nb_inplace_rshift*/ + 0, /*nb_inplace_and*/ + 0, /*nb_inplace_xor*/ + 0, /*nb_inplace_or*/ + 0, /*nb_floor_divide*/ + 0, /*nb_true_divide*/ + 0, /*nb_inplace_floor_divide*/ + 0, /*nb_inplace_true_divide*/ + #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX) + 0, /*nb_index*/ + #endif +}; + +static PySequenceMethods __pyx_tp_as_sequence_ProxyInfo = { + 0, /*sq_length*/ + 0, /*sq_concat*/ + 0, /*sq_repeat*/ + 0, /*sq_item*/ + 0, /*sq_slice*/ + 0, /*sq_ass_item*/ + 0, /*sq_ass_slice*/ + 0, /*sq_contains*/ + 0, /*sq_inplace_concat*/ + 0, /*sq_inplace_repeat*/ +}; + +static PyMappingMethods __pyx_tp_as_mapping_ProxyInfo = { + 0, /*mp_length*/ + 0, /*mp_subscript*/ + 0, /*mp_ass_subscript*/ +}; + +static PyBufferProcs __pyx_tp_as_buffer_ProxyInfo = { + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getreadbuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getwritebuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getsegcount*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getcharbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_getbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_releasebuffer*/ + #endif +}; + +PyTypeObject __pyx_type_6purple_ProxyInfo = { + PyVarObject_HEAD_INIT(0, 0) + "purple.ProxyInfo", /*tp_name*/ + sizeof(struct __pyx_obj_6purple_ProxyInfo), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_6purple_ProxyInfo, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + &__pyx_tp_as_number_ProxyInfo, /*tp_as_number*/ + &__pyx_tp_as_sequence_ProxyInfo, /*tp_as_sequence*/ + &__pyx_tp_as_mapping_ProxyInfo, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + &__pyx_tp_as_buffer_ProxyInfo, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_6purple_ProxyInfo, /*tp_traverse*/ + __pyx_tp_clear_6purple_ProxyInfo, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_6purple_ProxyInfo, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pf_6purple_9ProxyInfo___init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_6purple_ProxyInfo, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ +}; +static struct __pyx_vtabstruct_6purple_Account __pyx_vtable_6purple_Account; + +static PyObject *__pyx_tp_new_6purple_Account(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_6purple_Account *p; + PyObject *o = (*t->tp_alloc)(t, 0); + if (!o) return 0; + p = ((struct __pyx_obj_6purple_Account *)o); + p->__pyx_vtab = __pyx_vtabptr_6purple_Account; + p->__username = Py_None; Py_INCREF(Py_None); + p->__protocol = Py_None; Py_INCREF(Py_None); + p->__core = Py_None; Py_INCREF(Py_None); + p->__exists = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_6purple_Account(PyObject *o) { + struct __pyx_obj_6purple_Account *p = (struct __pyx_obj_6purple_Account *)o; + Py_XDECREF(p->__username); + Py_XDECREF(p->__protocol); + Py_XDECREF(p->__core); + Py_XDECREF(p->__exists); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_6purple_Account(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_6purple_Account *p = (struct __pyx_obj_6purple_Account *)o; + if (p->__username) { + e = (*v)(p->__username, a); if (e) return e; + } + if (p->__protocol) { + e = (*v)(p->__protocol, a); if (e) return e; + } + if (p->__core) { + e = (*v)(p->__core, a); if (e) return e; + } + if (p->__exists) { + e = (*v)(p->__exists, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_6purple_Account(PyObject *o) { + struct __pyx_obj_6purple_Account *p = (struct __pyx_obj_6purple_Account *)o; + PyObject* tmp; + tmp = ((PyObject*)p->__username); + p->__username = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__protocol); + p->__protocol = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__core); + p->__core = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__exists); + p->__exists = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static struct PyMethodDef __pyx_methods_6purple_Account[] = { + {"__is_connected", (PyCFunction)__pyx_pf_6purple_7Account___is_connected, METH_NOARGS, 0}, + {"__is_connecting", (PyCFunction)__pyx_pf_6purple_7Account___is_connecting, METH_NOARGS, 0}, + {"__is_disconnected", (PyCFunction)__pyx_pf_6purple_7Account___is_disconnected, METH_NOARGS, 0}, + {"__get_core", (PyCFunction)__pyx_pf_6purple_7Account___get_core, METH_NOARGS, 0}, + {"__get_exists", (PyCFunction)__pyx_pf_6purple_7Account___get_exists, METH_NOARGS, 0}, + {"__get_username", (PyCFunction)__pyx_pf_6purple_7Account___get_username, METH_NOARGS, 0}, + {"__get_protocol", (PyCFunction)__pyx_pf_6purple_7Account___get_protocol, METH_NOARGS, 0}, + {"_get_protocol_options", (PyCFunction)__pyx_pf_6purple_7Account__get_protocol_options, METH_NOARGS, __pyx_doc_6purple_7Account__get_protocol_options}, + {"__get_password", (PyCFunction)__pyx_pf_6purple_7Account___get_password, METH_NOARGS, 0}, + {"__get_alias", (PyCFunction)__pyx_pf_6purple_7Account___get_alias, METH_NOARGS, 0}, + {"__get_user_info", (PyCFunction)__pyx_pf_6purple_7Account___get_user_info, METH_NOARGS, 0}, + {"__get_remember_password", (PyCFunction)__pyx_pf_6purple_7Account___get_remember_password, METH_NOARGS, 0}, + {"__get_enabled", (PyCFunction)__pyx_pf_6purple_7Account___get_enabled, METH_NOARGS, 0}, + {"__get_status_types", (PyCFunction)__pyx_pf_6purple_7Account___get_status_types, METH_NOARGS, 0}, + {"__get_active_status", (PyCFunction)__pyx_pf_6purple_7Account___get_active_status, METH_NOARGS, 0}, + {"set_username", (PyCFunction)__pyx_pf_6purple_7Account_set_username, METH_O, __pyx_doc_6purple_7Account_set_username}, + {"set_protocol", (PyCFunction)__pyx_pf_6purple_7Account_set_protocol, METH_O, __pyx_doc_6purple_7Account_set_protocol}, + {"set_protocol_options", (PyCFunction)__pyx_pf_6purple_7Account_set_protocol_options, METH_O, __pyx_doc_6purple_7Account_set_protocol_options}, + {"set_password", (PyCFunction)__pyx_pf_6purple_7Account_set_password, METH_O, __pyx_doc_6purple_7Account_set_password}, + {"set_alias", (PyCFunction)__pyx_pf_6purple_7Account_set_alias, METH_O, __pyx_doc_6purple_7Account_set_alias}, + {"set_user_info", (PyCFunction)__pyx_pf_6purple_7Account_set_user_info, METH_O, __pyx_doc_6purple_7Account_set_user_info}, + {"set_remember_password", (PyCFunction)__pyx_pf_6purple_7Account_set_remember_password, METH_O, __pyx_doc_6purple_7Account_set_remember_password}, + {"set_enabled", (PyCFunction)__pyx_pf_6purple_7Account_set_enabled, METH_O, __pyx_doc_6purple_7Account_set_enabled}, + {"new", (PyCFunction)__pyx_pf_6purple_7Account_new, METH_NOARGS, __pyx_doc_6purple_7Account_new}, + {"remove", (PyCFunction)__pyx_pf_6purple_7Account_remove, METH_NOARGS, __pyx_doc_6purple_7Account_remove}, + {"connect", (PyCFunction)__pyx_pf_6purple_7Account_connect, METH_NOARGS, __pyx_doc_6purple_7Account_connect}, + {"disconnect", (PyCFunction)__pyx_pf_6purple_7Account_disconnect, METH_NOARGS, __pyx_doc_6purple_7Account_disconnect}, + {"add_buddy", (PyCFunction)__pyx_pf_6purple_7Account_add_buddy, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6purple_7Account_add_buddy}, + {"remove_buddy", (PyCFunction)__pyx_pf_6purple_7Account_remove_buddy, METH_O, __pyx_doc_6purple_7Account_remove_buddy}, + {"get_buddies_online", (PyCFunction)__pyx_pf_6purple_7Account_get_buddies_online, METH_NOARGS, 0}, + {"request_add_buddy", (PyCFunction)__pyx_pf_6purple_7Account_request_add_buddy, METH_VARARGS|METH_KEYWORDS, 0}, + {"set_active_status", (PyCFunction)__pyx_pf_6purple_7Account_set_active_status, METH_VARARGS|METH_KEYWORDS, 0}, + {"set_status_message", (PyCFunction)__pyx_pf_6purple_7Account_set_status_message, METH_VARARGS|METH_KEYWORDS, 0}, + {0, 0, 0, 0} +}; + +static PyNumberMethods __pyx_tp_as_number_Account = { + 0, /*nb_add*/ + 0, /*nb_subtract*/ + 0, /*nb_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_divide*/ + #endif + 0, /*nb_remainder*/ + 0, /*nb_divmod*/ + 0, /*nb_power*/ + 0, /*nb_negative*/ + 0, /*nb_positive*/ + 0, /*nb_absolute*/ + 0, /*nb_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_coerce*/ + #endif + 0, /*nb_int*/ + 0, /*nb_long*/ + 0, /*nb_float*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_oct*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*nb_hex*/ + #endif + 0, /*nb_inplace_add*/ + 0, /*nb_inplace_subtract*/ + 0, /*nb_inplace_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_inplace_divide*/ + #endif + 0, /*nb_inplace_remainder*/ + 0, /*nb_inplace_power*/ + 0, /*nb_inplace_lshift*/ + 0, /*nb_inplace_rshift*/ + 0, /*nb_inplace_and*/ + 0, /*nb_inplace_xor*/ + 0, /*nb_inplace_or*/ + 0, /*nb_floor_divide*/ + 0, /*nb_true_divide*/ + 0, /*nb_inplace_floor_divide*/ + 0, /*nb_inplace_true_divide*/ + #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX) + 0, /*nb_index*/ + #endif +}; + +static PySequenceMethods __pyx_tp_as_sequence_Account = { + 0, /*sq_length*/ + 0, /*sq_concat*/ + 0, /*sq_repeat*/ + 0, /*sq_item*/ + 0, /*sq_slice*/ + 0, /*sq_ass_item*/ + 0, /*sq_ass_slice*/ + 0, /*sq_contains*/ + 0, /*sq_inplace_concat*/ + 0, /*sq_inplace_repeat*/ +}; + +static PyMappingMethods __pyx_tp_as_mapping_Account = { + 0, /*mp_length*/ + 0, /*mp_subscript*/ + 0, /*mp_ass_subscript*/ +}; + +static PyBufferProcs __pyx_tp_as_buffer_Account = { + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getreadbuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getwritebuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getsegcount*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getcharbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_getbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_releasebuffer*/ + #endif +}; + +PyTypeObject __pyx_type_6purple_Account = { + PyVarObject_HEAD_INIT(0, 0) + "purple.Account", /*tp_name*/ + sizeof(struct __pyx_obj_6purple_Account), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_6purple_Account, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + &__pyx_tp_as_number_Account, /*tp_as_number*/ + &__pyx_tp_as_sequence_Account, /*tp_as_sequence*/ + &__pyx_tp_as_mapping_Account, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + &__pyx_tp_as_buffer_Account, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + "\n Account class\n @param username\n @param protocol Protocol class instance\n @param core Purple class instance\n ", /*tp_doc*/ + __pyx_tp_traverse_6purple_Account, /*tp_traverse*/ + __pyx_tp_clear_6purple_Account, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_6purple_Account, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pf_6purple_7Account___init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_6purple_Account, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ +}; +static struct __pyx_vtabstruct_6purple_Buddy __pyx_vtable_6purple_Buddy; + +static PyObject *__pyx_tp_new_6purple_Buddy(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_6purple_Buddy *p; + PyObject *o = (*t->tp_alloc)(t, 0); + if (!o) return 0; + p = ((struct __pyx_obj_6purple_Buddy *)o); + p->__pyx_vtab = __pyx_vtabptr_6purple_Buddy; + p->__account = Py_None; Py_INCREF(Py_None); + p->__name = Py_None; Py_INCREF(Py_None); + p->__exists = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_6purple_Buddy(PyObject *o) { + struct __pyx_obj_6purple_Buddy *p = (struct __pyx_obj_6purple_Buddy *)o; + Py_XDECREF(p->__account); + Py_XDECREF(p->__name); + Py_XDECREF(p->__exists); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_6purple_Buddy(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_6purple_Buddy *p = (struct __pyx_obj_6purple_Buddy *)o; + if (p->__account) { + e = (*v)(p->__account, a); if (e) return e; + } + if (p->__name) { + e = (*v)(p->__name, a); if (e) return e; + } + if (p->__exists) { + e = (*v)(p->__exists, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_6purple_Buddy(PyObject *o) { + struct __pyx_obj_6purple_Buddy *p = (struct __pyx_obj_6purple_Buddy *)o; + PyObject* tmp; + tmp = ((PyObject*)p->__account); + p->__account = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__name); + p->__name = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__exists); + p->__exists = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static struct PyMethodDef __pyx_methods_6purple_Buddy[] = { + {"__get_exists", (PyCFunction)__pyx_pf_6purple_5Buddy___get_exists, METH_NOARGS, 0}, + {"__get_name", (PyCFunction)__pyx_pf_6purple_5Buddy___get_name, METH_NOARGS, 0}, + {"__get_account", (PyCFunction)__pyx_pf_6purple_5Buddy___get_account, METH_NOARGS, 0}, + {"__get_alias", (PyCFunction)__pyx_pf_6purple_5Buddy___get_alias, METH_NOARGS, 0}, + {"__get_group", (PyCFunction)__pyx_pf_6purple_5Buddy___get_group, METH_NOARGS, 0}, + {"__get_server_alias", (PyCFunction)__pyx_pf_6purple_5Buddy___get_server_alias, METH_NOARGS, 0}, + {"__get_contact_alias", (PyCFunction)__pyx_pf_6purple_5Buddy___get_contact_alias, METH_NOARGS, 0}, + {"__get_local_alias", (PyCFunction)__pyx_pf_6purple_5Buddy___get_local_alias, METH_NOARGS, 0}, + {"__get_available", (PyCFunction)__pyx_pf_6purple_5Buddy___get_available, METH_NOARGS, 0}, + {"__get_online", (PyCFunction)__pyx_pf_6purple_5Buddy___get_online, METH_NOARGS, 0}, + {"__get_idle", (PyCFunction)__pyx_pf_6purple_5Buddy___get_idle, METH_NOARGS, 0}, + {"__get_active_status", (PyCFunction)__pyx_pf_6purple_5Buddy___get_active_status, METH_NOARGS, 0}, + {"set_alias", (PyCFunction)__pyx_pf_6purple_5Buddy_set_alias, METH_O, 0}, + {"set_group", (PyCFunction)__pyx_pf_6purple_5Buddy_set_group, METH_O, 0}, + {0, 0, 0, 0} +}; + +static PyNumberMethods __pyx_tp_as_number_Buddy = { + 0, /*nb_add*/ + 0, /*nb_subtract*/ + 0, /*nb_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_divide*/ + #endif + 0, /*nb_remainder*/ + 0, /*nb_divmod*/ + 0, /*nb_power*/ + 0, /*nb_negative*/ + 0, /*nb_positive*/ + 0, /*nb_absolute*/ + 0, /*nb_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_coerce*/ + #endif + 0, /*nb_int*/ + 0, /*nb_long*/ + 0, /*nb_float*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_oct*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*nb_hex*/ + #endif + 0, /*nb_inplace_add*/ + 0, /*nb_inplace_subtract*/ + 0, /*nb_inplace_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_inplace_divide*/ + #endif + 0, /*nb_inplace_remainder*/ + 0, /*nb_inplace_power*/ + 0, /*nb_inplace_lshift*/ + 0, /*nb_inplace_rshift*/ + 0, /*nb_inplace_and*/ + 0, /*nb_inplace_xor*/ + 0, /*nb_inplace_or*/ + 0, /*nb_floor_divide*/ + 0, /*nb_true_divide*/ + 0, /*nb_inplace_floor_divide*/ + 0, /*nb_inplace_true_divide*/ + #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX) + 0, /*nb_index*/ + #endif +}; + +static PySequenceMethods __pyx_tp_as_sequence_Buddy = { + 0, /*sq_length*/ + 0, /*sq_concat*/ + 0, /*sq_repeat*/ + 0, /*sq_item*/ + 0, /*sq_slice*/ + 0, /*sq_ass_item*/ + 0, /*sq_ass_slice*/ + 0, /*sq_contains*/ + 0, /*sq_inplace_concat*/ + 0, /*sq_inplace_repeat*/ +}; + +static PyMappingMethods __pyx_tp_as_mapping_Buddy = { + 0, /*mp_length*/ + 0, /*mp_subscript*/ + 0, /*mp_ass_subscript*/ +}; + +static PyBufferProcs __pyx_tp_as_buffer_Buddy = { + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getreadbuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getwritebuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getsegcount*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getcharbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_getbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_releasebuffer*/ + #endif +}; + +PyTypeObject __pyx_type_6purple_Buddy = { + PyVarObject_HEAD_INIT(0, 0) + "purple.Buddy", /*tp_name*/ + sizeof(struct __pyx_obj_6purple_Buddy), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_6purple_Buddy, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + &__pyx_tp_as_number_Buddy, /*tp_as_number*/ + &__pyx_tp_as_sequence_Buddy, /*tp_as_sequence*/ + &__pyx_tp_as_mapping_Buddy, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + &__pyx_tp_as_buffer_Buddy, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + "\n Buddy class\n @param name\n @param account\n ", /*tp_doc*/ + __pyx_tp_traverse_6purple_Buddy, /*tp_traverse*/ + __pyx_tp_clear_6purple_Buddy, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_6purple_Buddy, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pf_6purple_5Buddy___init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_6purple_Buddy, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ +}; +static struct __pyx_vtabstruct_6purple_Conversation __pyx_vtable_6purple_Conversation; + +static PyObject *__pyx_tp_new_6purple_Conversation(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_6purple_Conversation *p; + PyObject *o = (*t->tp_alloc)(t, 0); + if (!o) return 0; + p = ((struct __pyx_obj_6purple_Conversation *)o); + p->__pyx_vtab = __pyx_vtabptr_6purple_Conversation; + p->__account = Py_None; Py_INCREF(Py_None); + p->__name = Py_None; Py_INCREF(Py_None); + p->__type = Py_None; Py_INCREF(Py_None); + p->__exists = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_6purple_Conversation(PyObject *o) { + struct __pyx_obj_6purple_Conversation *p = (struct __pyx_obj_6purple_Conversation *)o; + Py_XDECREF(p->__account); + Py_XDECREF(p->__name); + Py_XDECREF(p->__type); + Py_XDECREF(p->__exists); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_6purple_Conversation(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_6purple_Conversation *p = (struct __pyx_obj_6purple_Conversation *)o; + if (p->__account) { + e = (*v)(p->__account, a); if (e) return e; + } + if (p->__name) { + e = (*v)(p->__name, a); if (e) return e; + } + if (p->__type) { + e = (*v)(p->__type, a); if (e) return e; + } + if (p->__exists) { + e = (*v)(p->__exists, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_6purple_Conversation(PyObject *o) { + struct __pyx_obj_6purple_Conversation *p = (struct __pyx_obj_6purple_Conversation *)o; + PyObject* tmp; + tmp = ((PyObject*)p->__account); + p->__account = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__name); + p->__name = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__type); + p->__type = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__exists); + p->__exists = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static struct PyMethodDef __pyx_methods_6purple_Conversation[] = { + {"__get_exists", (PyCFunction)__pyx_pf_6purple_12Conversation___get_exists, METH_NOARGS, 0}, + {"__get_account", (PyCFunction)__pyx_pf_6purple_12Conversation___get_account, METH_NOARGS, 0}, + {"__get_name", (PyCFunction)__pyx_pf_6purple_12Conversation___get_name, METH_NOARGS, 0}, + {"new", (PyCFunction)__pyx_pf_6purple_12Conversation_new, METH_NOARGS, __pyx_doc_6purple_12Conversation_new}, + {"destroy", (PyCFunction)__pyx_pf_6purple_12Conversation_destroy, METH_NOARGS, __pyx_doc_6purple_12Conversation_destroy}, + {"set_ui_ops", (PyCFunction)__pyx_pf_6purple_12Conversation_set_ui_ops, METH_O, __pyx_doc_6purple_12Conversation_set_ui_ops}, + {"im_send", (PyCFunction)__pyx_pf_6purple_12Conversation_im_send, METH_O, __pyx_doc_6purple_12Conversation_im_send}, + {0, 0, 0, 0} +}; + +static PyNumberMethods __pyx_tp_as_number_Conversation = { + 0, /*nb_add*/ + 0, /*nb_subtract*/ + 0, /*nb_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_divide*/ + #endif + 0, /*nb_remainder*/ + 0, /*nb_divmod*/ + 0, /*nb_power*/ + 0, /*nb_negative*/ + 0, /*nb_positive*/ + 0, /*nb_absolute*/ + 0, /*nb_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_coerce*/ + #endif + 0, /*nb_int*/ + 0, /*nb_long*/ + 0, /*nb_float*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_oct*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*nb_hex*/ + #endif + 0, /*nb_inplace_add*/ + 0, /*nb_inplace_subtract*/ + 0, /*nb_inplace_multiply*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_inplace_divide*/ + #endif + 0, /*nb_inplace_remainder*/ + 0, /*nb_inplace_power*/ + 0, /*nb_inplace_lshift*/ + 0, /*nb_inplace_rshift*/ + 0, /*nb_inplace_and*/ + 0, /*nb_inplace_xor*/ + 0, /*nb_inplace_or*/ + 0, /*nb_floor_divide*/ + 0, /*nb_true_divide*/ + 0, /*nb_inplace_floor_divide*/ + 0, /*nb_inplace_true_divide*/ + #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX) + 0, /*nb_index*/ + #endif +}; + +static PySequenceMethods __pyx_tp_as_sequence_Conversation = { + 0, /*sq_length*/ + 0, /*sq_concat*/ + 0, /*sq_repeat*/ + 0, /*sq_item*/ + 0, /*sq_slice*/ + 0, /*sq_ass_item*/ + 0, /*sq_ass_slice*/ + 0, /*sq_contains*/ + 0, /*sq_inplace_concat*/ + 0, /*sq_inplace_repeat*/ +}; + +static PyMappingMethods __pyx_tp_as_mapping_Conversation = { + 0, /*mp_length*/ + 0, /*mp_subscript*/ + 0, /*mp_ass_subscript*/ +}; + +static PyBufferProcs __pyx_tp_as_buffer_Conversation = { + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getreadbuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getwritebuffer*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getsegcount*/ + #endif + #if PY_MAJOR_VERSION < 3 + 0, /*bf_getcharbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_getbuffer*/ + #endif + #if PY_VERSION_HEX >= 0x02060000 + 0, /*bf_releasebuffer*/ + #endif +}; + +PyTypeObject __pyx_type_6purple_Conversation = { + PyVarObject_HEAD_INIT(0, 0) + "purple.Conversation", /*tp_name*/ + sizeof(struct __pyx_obj_6purple_Conversation), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_6purple_Conversation, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + &__pyx_tp_as_number_Conversation, /*tp_as_number*/ + &__pyx_tp_as_sequence_Conversation, /*tp_as_sequence*/ + &__pyx_tp_as_mapping_Conversation, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + &__pyx_tp_as_buffer_Conversation, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + "\n Conversation class\n @param type UNKNOWN, IM, CHAT, MISC, ANY\n @param account Your account\n @param name Buddy name\n ", /*tp_doc*/ + __pyx_tp_traverse_6purple_Conversation, /*tp_traverse*/ + __pyx_tp_clear_6purple_Conversation, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_6purple_Conversation, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pf_6purple_12Conversation___init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_6purple_Conversation, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ +}; + +static struct PyMethodDef __pyx_methods[] = { + {"call_authorize_cb", (PyCFunction)__pyx_pf_6purple_call_authorize_cb, METH_NOARGS, 0}, + {"call_deny_cb", (PyCFunction)__pyx_pf_6purple_call_deny_cb, METH_NOARGS, 0}, + {"markup_strip_html", (PyCFunction)__pyx_pf_6purple_markup_strip_html, METH_O, 0}, + {0, 0, 0, 0} +}; + +static void __pyx_init_filenames(void); /*proto*/ + +#if PY_MAJOR_VERSION >= 3 +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "purple", + 0, /* m_doc */ + -1, /* m_size */ + __pyx_methods /* m_methods */, + NULL, /* m_reload */ + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp___init__, __pyx_k___init__, sizeof(__pyx_k___init__), 1, 1, 1}, + {&__pyx_kp_destroy, __pyx_k_destroy, sizeof(__pyx_k_destroy), 1, 1, 1}, + {&__pyx_kp___get_ui_name, __pyx_k___get_ui_name, sizeof(__pyx_k___get_ui_name), 1, 1, 1}, + {&__pyx_kp_ui_name, __pyx_k_ui_name, sizeof(__pyx_k_ui_name), 1, 1, 1}, + {&__pyx_kp_1, __pyx_k_1, sizeof(__pyx_k_1), 1, 1, 1}, + {&__pyx_kp_purple_init, __pyx_k_purple_init, sizeof(__pyx_k_purple_init), 1, 1, 1}, + {&__pyx_kp_add_callback, __pyx_k_add_callback, sizeof(__pyx_k_add_callback), 1, 1, 1}, + {&__pyx_kp_signal_connect, __pyx_k_signal_connect, sizeof(__pyx_k_signal_connect), 1, 1, 1}, + {&__pyx_kp_accounts_get_all, __pyx_k_accounts_get_all, sizeof(__pyx_k_accounts_get_all), 1, 1, 1}, + {&__pyx_kp_2, __pyx_k_2, sizeof(__pyx_k_2), 1, 1, 1}, + {&__pyx_kp_protocols_get_all, __pyx_k_protocols_get_all, sizeof(__pyx_k_protocols_get_all), 1, 1, 1}, + {&__pyx_kp___get_exists, __pyx_k___get_exists, sizeof(__pyx_k___get_exists), 1, 1, 1}, + {&__pyx_kp_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 1, 1, 1}, + {&__pyx_kp___get_id, __pyx_k___get_id, sizeof(__pyx_k___get_id), 1, 1, 1}, + {&__pyx_kp_id, __pyx_k_id, sizeof(__pyx_k_id), 1, 1, 1}, + {&__pyx_kp___get_name, __pyx_k___get_name, sizeof(__pyx_k___get_name), 1, 1, 1}, + {&__pyx_kp_name, __pyx_k_name, sizeof(__pyx_k_name), 1, 1, 1}, + {&__pyx_kp_3, __pyx_k_3, sizeof(__pyx_k_3), 1, 1, 1}, + {&__pyx_kp_options_labels, __pyx_k_options_labels, sizeof(__pyx_k_options_labels), 1, 1, 1}, + {&__pyx_kp_4, __pyx_k_4, sizeof(__pyx_k_4), 1, 1, 1}, + {&__pyx_kp_options_values, __pyx_k_options_values, sizeof(__pyx_k_options_values), 1, 1, 1}, + {&__pyx_kp_get_NONE, __pyx_k_get_NONE, sizeof(__pyx_k_get_NONE), 1, 1, 1}, + {&__pyx_kp_NONE, __pyx_k_NONE, sizeof(__pyx_k_NONE), 1, 1, 1}, + {&__pyx_kp_get_USE_GLOBAL, __pyx_k_get_USE_GLOBAL, sizeof(__pyx_k_get_USE_GLOBAL), 1, 1, 1}, + {&__pyx_kp_USE_GLOBAL, __pyx_k_USE_GLOBAL, sizeof(__pyx_k_USE_GLOBAL), 1, 1, 1}, + {&__pyx_kp_get_HTTP, __pyx_k_get_HTTP, sizeof(__pyx_k_get_HTTP), 1, 1, 1}, + {&__pyx_kp_HTTP, __pyx_k_HTTP, sizeof(__pyx_k_HTTP), 1, 1, 1}, + {&__pyx_kp_5, __pyx_k_5, sizeof(__pyx_k_5), 1, 1, 1}, + {&__pyx_kp_6, __pyx_k_6, sizeof(__pyx_k_6), 1, 1, 1}, + {&__pyx_kp_get_USE_ENVVAR, __pyx_k_get_USE_ENVVAR, sizeof(__pyx_k_get_USE_ENVVAR), 1, 1, 1}, + {&__pyx_kp_USE_ENVVAR, __pyx_k_USE_ENVVAR, sizeof(__pyx_k_USE_ENVVAR), 1, 1, 1}, + {&__pyx_kp_set_type, __pyx_k_set_type, sizeof(__pyx_k_set_type), 1, 1, 1}, + {&__pyx_kp_set_host, __pyx_k_set_host, sizeof(__pyx_k_set_host), 1, 1, 1}, + {&__pyx_kp_set_port, __pyx_k_set_port, sizeof(__pyx_k_set_port), 1, 1, 1}, + {&__pyx_kp_set_username, __pyx_k_set_username, sizeof(__pyx_k_set_username), 1, 1, 1}, + {&__pyx_kp_set_password, __pyx_k_set_password, sizeof(__pyx_k_set_password), 1, 1, 1}, + {&__pyx_kp_get_types, __pyx_k_get_types, sizeof(__pyx_k_get_types), 1, 1, 1}, + {&__pyx_kp_set_info, __pyx_k_set_info, sizeof(__pyx_k_set_info), 1, 1, 1}, + {&__pyx_kp___is_connected, __pyx_k___is_connected, sizeof(__pyx_k___is_connected), 1, 1, 1}, + {&__pyx_kp_is_connected, __pyx_k_is_connected, sizeof(__pyx_k_is_connected), 1, 1, 1}, + {&__pyx_kp___is_connecting, __pyx_k___is_connecting, sizeof(__pyx_k___is_connecting), 1, 1, 1}, + {&__pyx_kp_is_connecting, __pyx_k_is_connecting, sizeof(__pyx_k_is_connecting), 1, 1, 1}, + {&__pyx_kp___is_disconnected, __pyx_k___is_disconnected, sizeof(__pyx_k___is_disconnected), 1, 1, 1}, + {&__pyx_kp_is_disconnected, __pyx_k_is_disconnected, sizeof(__pyx_k_is_disconnected), 1, 1, 1}, + {&__pyx_kp___get_core, __pyx_k___get_core, sizeof(__pyx_k___get_core), 1, 1, 1}, + {&__pyx_kp_core, __pyx_k_core, sizeof(__pyx_k_core), 1, 1, 1}, + {&__pyx_kp___get_username, __pyx_k___get_username, sizeof(__pyx_k___get_username), 1, 1, 1}, + {&__pyx_kp_username, __pyx_k_username, sizeof(__pyx_k_username), 1, 1, 1}, + {&__pyx_kp___get_protocol, __pyx_k___get_protocol, sizeof(__pyx_k___get_protocol), 1, 1, 1}, + {&__pyx_kp_protocol, __pyx_k_protocol, sizeof(__pyx_k_protocol), 1, 1, 1}, + {&__pyx_kp_7, __pyx_k_7, sizeof(__pyx_k_7), 1, 1, 1}, + {&__pyx_kp_protocol_options, __pyx_k_protocol_options, sizeof(__pyx_k_protocol_options), 1, 1, 1}, + {&__pyx_kp___get_password, __pyx_k___get_password, sizeof(__pyx_k___get_password), 1, 1, 1}, + {&__pyx_kp_password, __pyx_k_password, sizeof(__pyx_k_password), 1, 1, 1}, + {&__pyx_kp___get_alias, __pyx_k___get_alias, sizeof(__pyx_k___get_alias), 1, 1, 1}, + {&__pyx_kp_alias, __pyx_k_alias, sizeof(__pyx_k_alias), 1, 1, 1}, + {&__pyx_kp___get_user_info, __pyx_k___get_user_info, sizeof(__pyx_k___get_user_info), 1, 1, 1}, + {&__pyx_kp_user_info, __pyx_k_user_info, sizeof(__pyx_k_user_info), 1, 1, 1}, + {&__pyx_kp_8, __pyx_k_8, sizeof(__pyx_k_8), 1, 1, 1}, + {&__pyx_kp_remember_password, __pyx_k_remember_password, sizeof(__pyx_k_remember_password), 1, 1, 1}, + {&__pyx_kp___get_enabled, __pyx_k___get_enabled, sizeof(__pyx_k___get_enabled), 1, 1, 1}, + {&__pyx_kp_enabled, __pyx_k_enabled, sizeof(__pyx_k_enabled), 1, 1, 1}, + {&__pyx_kp___get_status_types, __pyx_k___get_status_types, sizeof(__pyx_k___get_status_types), 1, 1, 1}, + {&__pyx_kp_status_types, __pyx_k_status_types, sizeof(__pyx_k_status_types), 1, 1, 1}, + {&__pyx_kp___get_active_status, __pyx_k___get_active_status, sizeof(__pyx_k___get_active_status), 1, 1, 1}, + {&__pyx_kp_active_status, __pyx_k_active_status, sizeof(__pyx_k_active_status), 1, 1, 1}, + {&__pyx_kp_set_protocol, __pyx_k_set_protocol, sizeof(__pyx_k_set_protocol), 1, 1, 1}, + {&__pyx_kp_9, __pyx_k_9, sizeof(__pyx_k_9), 1, 1, 1}, + {&__pyx_kp_set_alias, __pyx_k_set_alias, sizeof(__pyx_k_set_alias), 1, 1, 1}, + {&__pyx_kp_set_user_info, __pyx_k_set_user_info, sizeof(__pyx_k_set_user_info), 1, 1, 1}, + {&__pyx_kp_10, __pyx_k_10, sizeof(__pyx_k_10), 1, 1, 1}, + {&__pyx_kp_set_enabled, __pyx_k_set_enabled, sizeof(__pyx_k_set_enabled), 1, 1, 1}, + {&__pyx_kp_new, __pyx_k_new, sizeof(__pyx_k_new), 1, 1, 1}, + {&__pyx_kp_remove, __pyx_k_remove, sizeof(__pyx_k_remove), 1, 1, 1}, + {&__pyx_kp_connect, __pyx_k_connect, sizeof(__pyx_k_connect), 1, 1, 1}, + {&__pyx_kp_disconnect, __pyx_k_disconnect, sizeof(__pyx_k_disconnect), 1, 1, 1}, + {&__pyx_kp_add_buddy, __pyx_k_add_buddy, sizeof(__pyx_k_add_buddy), 1, 1, 1}, + {&__pyx_kp_remove_buddy, __pyx_k_remove_buddy, sizeof(__pyx_k_remove_buddy), 1, 1, 1}, + {&__pyx_kp_get_buddies_online, __pyx_k_get_buddies_online, sizeof(__pyx_k_get_buddies_online), 1, 1, 1}, + {&__pyx_kp_request_add_buddy, __pyx_k_request_add_buddy, sizeof(__pyx_k_request_add_buddy), 1, 1, 1}, + {&__pyx_kp_set_active_status, __pyx_k_set_active_status, sizeof(__pyx_k_set_active_status), 1, 1, 1}, + {&__pyx_kp_set_status_message, __pyx_k_set_status_message, sizeof(__pyx_k_set_status_message), 1, 1, 1}, + {&__pyx_kp___get_account, __pyx_k___get_account, sizeof(__pyx_k___get_account), 1, 1, 1}, + {&__pyx_kp_account, __pyx_k_account, sizeof(__pyx_k_account), 1, 1, 1}, + {&__pyx_kp___get_group, __pyx_k___get_group, sizeof(__pyx_k___get_group), 1, 1, 1}, + {&__pyx_kp_group, __pyx_k_group, sizeof(__pyx_k_group), 1, 1, 1}, + {&__pyx_kp___get_server_alias, __pyx_k___get_server_alias, sizeof(__pyx_k___get_server_alias), 1, 1, 1}, + {&__pyx_kp_server_alias, __pyx_k_server_alias, sizeof(__pyx_k_server_alias), 1, 1, 1}, + {&__pyx_kp___get_contact_alias, __pyx_k___get_contact_alias, sizeof(__pyx_k___get_contact_alias), 1, 1, 1}, + {&__pyx_kp_contact_alias, __pyx_k_contact_alias, sizeof(__pyx_k_contact_alias), 1, 1, 1}, + {&__pyx_kp___get_local_alias, __pyx_k___get_local_alias, sizeof(__pyx_k___get_local_alias), 1, 1, 1}, + {&__pyx_kp_local_alias, __pyx_k_local_alias, sizeof(__pyx_k_local_alias), 1, 1, 1}, + {&__pyx_kp___get_available, __pyx_k___get_available, sizeof(__pyx_k___get_available), 1, 1, 1}, + {&__pyx_kp_available, __pyx_k_available, sizeof(__pyx_k_available), 1, 1, 1}, + {&__pyx_kp___get_online, __pyx_k___get_online, sizeof(__pyx_k___get_online), 1, 1, 1}, + {&__pyx_kp_online, __pyx_k_online, sizeof(__pyx_k_online), 1, 1, 1}, + {&__pyx_kp___get_idle, __pyx_k___get_idle, sizeof(__pyx_k___get_idle), 1, 1, 1}, + {&__pyx_kp_idle, __pyx_k_idle, sizeof(__pyx_k_idle), 1, 1, 1}, + {&__pyx_kp_set_group, __pyx_k_set_group, sizeof(__pyx_k_set_group), 1, 1, 1}, + {&__pyx_kp_set_ui_ops, __pyx_k_set_ui_ops, sizeof(__pyx_k_set_ui_ops), 1, 1, 1}, + {&__pyx_kp_im_send, __pyx_k_im_send, sizeof(__pyx_k_im_send), 1, 1, 1}, + {&__pyx_kp_message, __pyx_k_message, sizeof(__pyx_k_message), 1, 1, 1}, + {&__pyx_kp_ui_version, __pyx_k_ui_version, sizeof(__pyx_k_ui_version), 1, 1, 1}, + {&__pyx_kp_ui_website, __pyx_k_ui_website, sizeof(__pyx_k_ui_website), 1, 1, 1}, + {&__pyx_kp_ui_dev_website, __pyx_k_ui_dev_website, sizeof(__pyx_k_ui_dev_website), 1, 1, 1}, + {&__pyx_kp_debug_enabled, __pyx_k_debug_enabled, sizeof(__pyx_k_debug_enabled), 1, 1, 1}, + {&__pyx_kp_default_path, __pyx_k_default_path, sizeof(__pyx_k_default_path), 1, 1, 1}, + {&__pyx_kp_type, __pyx_k_type, sizeof(__pyx_k_type), 1, 1, 1}, + {&__pyx_kp_callback, __pyx_k_callback, sizeof(__pyx_k_callback), 1, 1, 1}, + {&__pyx_kp_cb, __pyx_k_cb, sizeof(__pyx_k_cb), 1, 1, 1}, + {&__pyx_kp_host, __pyx_k_host, sizeof(__pyx_k_host), 1, 1, 1}, + {&__pyx_kp_port, __pyx_k_port, sizeof(__pyx_k_port), 1, 1, 1}, + {&__pyx_kp_acc, __pyx_k_acc, sizeof(__pyx_k_acc), 1, 1, 1}, + {&__pyx_kp_info, __pyx_k_info, sizeof(__pyx_k_info), 1, 1, 1}, + {&__pyx_kp_po, __pyx_k_po, sizeof(__pyx_k_po), 1, 1, 1}, + {&__pyx_kp_value, __pyx_k_value, sizeof(__pyx_k_value), 1, 1, 1}, + {&__pyx_kp_buddy_username, __pyx_k_buddy_username, sizeof(__pyx_k_buddy_username), 1, 1, 1}, + {&__pyx_kp_buddy_alias, __pyx_k_buddy_alias, sizeof(__pyx_k_buddy_alias), 1, 1, 1}, + {&__pyx_kp_msg, __pyx_k_msg, sizeof(__pyx_k_msg), 1, 1, 1}, + {&__pyx_kp_cbs, __pyx_k_cbs, sizeof(__pyx_k_cbs), 1, 1, 1}, + {&__pyx_kp_ecore, __pyx_k_ecore, sizeof(__pyx_k_ecore), 1, 1, 1}, + {&__pyx_kp_account_cbs, __pyx_k_account_cbs, sizeof(__pyx_k_account_cbs), 1, 1, 1}, + {&__pyx_kp_blist_cbs, __pyx_k_blist_cbs, sizeof(__pyx_k_blist_cbs), 1, 1, 1}, + {&__pyx_kp_connection_cbs, __pyx_k_connection_cbs, sizeof(__pyx_k_connection_cbs), 1, 1, 1}, + {&__pyx_kp_conversation_cbs, __pyx_k_conversation_cbs, sizeof(__pyx_k_conversation_cbs), 1, 1, 1}, + {&__pyx_kp_notify_cbs, __pyx_k_notify_cbs, sizeof(__pyx_k_notify_cbs), 1, 1, 1}, + {&__pyx_kp_request_cbs, __pyx_k_request_cbs, sizeof(__pyx_k_request_cbs), 1, 1, 1}, + {&__pyx_kp_signal_cbs, __pyx_k_signal_cbs, sizeof(__pyx_k_signal_cbs), 1, 1, 1}, + {&__pyx_kp_property, __pyx_k_property, sizeof(__pyx_k_property), 1, 1, 1}, + {&__pyx_kp_has_key, __pyx_k_has_key, sizeof(__pyx_k_has_key), 1, 1, 1}, + {&__pyx_kp_call_authorize_cb, __pyx_k_call_authorize_cb, sizeof(__pyx_k_call_authorize_cb), 1, 1, 1}, + {&__pyx_kp_call_deny_cb, __pyx_k_call_deny_cb, sizeof(__pyx_k_call_deny_cb), 1, 1, 1}, + {&__pyx_kp_54, __pyx_k_54, sizeof(__pyx_k_54), 0, 1, 0}, + {&__pyx_kp_55, __pyx_k_55, sizeof(__pyx_k_55), 0, 1, 0}, + {&__pyx_kp_60, __pyx_k_60, sizeof(__pyx_k_60), 0, 1, 0}, + {&__pyx_kp_61, __pyx_k_61, sizeof(__pyx_k_61), 0, 1, 0}, + {&__pyx_kp_62, __pyx_k_62, sizeof(__pyx_k_62), 0, 1, 0}, + {&__pyx_kp_63, __pyx_k_63, sizeof(__pyx_k_63), 0, 1, 0}, + {&__pyx_kp_64, __pyx_k_64, sizeof(__pyx_k_64), 0, 1, 0}, + {&__pyx_kp_65, __pyx_k_65, sizeof(__pyx_k_65), 0, 1, 0}, + {&__pyx_kp_69, __pyx_k_69, sizeof(__pyx_k_69), 0, 1, 0}, + {&__pyx_kp_70, __pyx_k_70, sizeof(__pyx_k_70), 0, 1, 0}, + {&__pyx_kp_71, __pyx_k_71, sizeof(__pyx_k_71), 0, 1, 0}, + {&__pyx_kp_72, __pyx_k_72, sizeof(__pyx_k_72), 0, 1, 0}, + {&__pyx_kp_73, __pyx_k_73, sizeof(__pyx_k_73), 0, 1, 0}, + {&__pyx_kp_74, __pyx_k_74, sizeof(__pyx_k_74), 0, 1, 0}, + {&__pyx_kp_78, __pyx_k_78, sizeof(__pyx_k_78), 0, 1, 0}, + {&__pyx_kp_79, __pyx_k_79, sizeof(__pyx_k_79), 0, 1, 0}, + {&__pyx_kp_112, __pyx_k_112, sizeof(__pyx_k_112), 0, 1, 0}, + {&__pyx_kp_113, __pyx_k_113, sizeof(__pyx_k_113), 0, 1, 0}, + {&__pyx_kp_118, __pyx_k_118, sizeof(__pyx_k_118), 0, 1, 0}, + {&__pyx_kp_119, __pyx_k_119, sizeof(__pyx_k_119), 0, 1, 0}, + {&__pyx_kp_124, __pyx_k_124, sizeof(__pyx_k_124), 0, 1, 0}, + {&__pyx_kp_125, __pyx_k_125, sizeof(__pyx_k_125), 0, 1, 0}, + {&__pyx_kp_185, __pyx_k_185, sizeof(__pyx_k_185), 0, 1, 0}, + {&__pyx_kp_186, __pyx_k_186, sizeof(__pyx_k_186), 0, 1, 0}, + {&__pyx_kp_222, __pyx_k_222, sizeof(__pyx_k_222), 0, 1, 0}, + {&__pyx_kp_223, __pyx_k_223, sizeof(__pyx_k_223), 0, 1, 0}, + {&__pyx_kp_timer_add, __pyx_k_timer_add, sizeof(__pyx_k_timer_add), 1, 1, 1}, + {&__pyx_kp_c_ui_info, __pyx_k_c_ui_info, sizeof(__pyx_k_c_ui_info), 1, 1, 1}, + {&__pyx_kp_405, __pyx_k_405, sizeof(__pyx_k_405), 0, 1, 0}, + {&__pyx_kp_406, __pyx_k_406, sizeof(__pyx_k_406), 0, 1, 0}, + {&__pyx_kp_407, __pyx_k_407, sizeof(__pyx_k_407), 0, 1, 0}, + {&__pyx_kp_408, __pyx_k_408, sizeof(__pyx_k_408), 0, 1, 0}, + {&__pyx_kp_409, __pyx_k_409, sizeof(__pyx_k_409), 0, 1, 0}, + {&__pyx_kp_410, __pyx_k_410, sizeof(__pyx_k_410), 0, 1, 0}, + {&__pyx_kp_append, __pyx_k_append, sizeof(__pyx_k_append), 1, 1, 1}, + {&__pyx_kp_427, __pyx_k_427, sizeof(__pyx_k_427), 0, 1, 0}, + {&__pyx_kp_428, __pyx_k_428, sizeof(__pyx_k_428), 0, 1, 0}, + {&__pyx_kp_429, __pyx_k_429, sizeof(__pyx_k_429), 0, 1, 0}, + {&__pyx_kp_430, __pyx_k_430, sizeof(__pyx_k_430), 0, 1, 0}, + {&__pyx_kp_431, __pyx_k_431, sizeof(__pyx_k_431), 0, 1, 0}, + {&__pyx_kp_432, __pyx_k_432, sizeof(__pyx_k_432), 0, 1, 0}, + {&__pyx_kp_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 1, 1, 1}, + {&__pyx_kp_433, __pyx_k_433, sizeof(__pyx_k_433), 0, 1, 0}, + {&__pyx_kp_434, __pyx_k_434, sizeof(__pyx_k_434), 0, 1, 0}, + {&__pyx_kp_435, __pyx_k_435, sizeof(__pyx_k_435), 0, 1, 0}, + {&__pyx_kp_436, __pyx_k_436, sizeof(__pyx_k_436), 0, 1, 0}, + {&__pyx_kp_437, __pyx_k_437, sizeof(__pyx_k_437), 0, 1, 0}, + {&__pyx_kp_438, __pyx_k_438, sizeof(__pyx_k_438), 0, 1, 0}, + {&__pyx_kp_439, __pyx_k_439, sizeof(__pyx_k_439), 0, 1, 0}, + {&__pyx_kp_440, __pyx_k_440, sizeof(__pyx_k_440), 0, 1, 0}, + {&__pyx_kp_441, __pyx_k_441, sizeof(__pyx_k_441), 0, 1, 0}, + {&__pyx_kp_442, __pyx_k_442, sizeof(__pyx_k_442), 0, 1, 0}, + {&__pyx_kp_443, __pyx_k_443, sizeof(__pyx_k_443), 0, 1, 0}, + {&__pyx_kp_444, __pyx_k_444, sizeof(__pyx_k_444), 0, 1, 0}, + {&__pyx_kp_445, __pyx_k_445, sizeof(__pyx_k_445), 0, 1, 0}, + {&__pyx_kp_446, __pyx_k_446, sizeof(__pyx_k_446), 0, 1, 0}, + {&__pyx_kp_447, __pyx_k_447, sizeof(__pyx_k_447), 0, 1, 0}, + {&__pyx_kp_448, __pyx_k_448, sizeof(__pyx_k_448), 0, 1, 0}, + {&__pyx_kp_451, __pyx_k_451, sizeof(__pyx_k_451), 0, 1, 0}, + {&__pyx_kp_452, __pyx_k_452, sizeof(__pyx_k_452), 0, 1, 0}, + {&__pyx_kp_453, __pyx_k_453, sizeof(__pyx_k_453), 0, 1, 0}, + {&__pyx_kp_459, __pyx_k_459, sizeof(__pyx_k_459), 0, 1, 0}, + {&__pyx_kp_460, __pyx_k_460, sizeof(__pyx_k_460), 0, 1, 0}, + {&__pyx_kp_461, __pyx_k_461, sizeof(__pyx_k_461), 0, 1, 0}, + {&__pyx_kp_462, __pyx_k_462, sizeof(__pyx_k_462), 0, 1, 0}, + {&__pyx_kp_463, __pyx_k_463, sizeof(__pyx_k_463), 0, 1, 0}, + {&__pyx_kp_464, __pyx_k_464, sizeof(__pyx_k_464), 0, 1, 0}, + {&__pyx_kp_465, __pyx_k_465, sizeof(__pyx_k_465), 0, 1, 0}, + {&__pyx_kp_466, __pyx_k_466, sizeof(__pyx_k_466), 0, 1, 0}, + {&__pyx_kp_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 0}, + {&__pyx_kp_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 0, 0}, + {&__pyx_kp_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 0, 0}, + {&__pyx_kp_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 0}, + {&__pyx_kp_24, __pyx_k_24, sizeof(__pyx_k_24), 0, 0, 0}, + {&__pyx_kp_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 0, 0}, + {&__pyx_kp_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 0, 0}, + {&__pyx_kp_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 0}, + {&__pyx_kp_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 0, 0}, + {&__pyx_kp_35, __pyx_k_35, sizeof(__pyx_k_35), 0, 0, 0}, + {&__pyx_kp_39, __pyx_k_39, sizeof(__pyx_k_39), 0, 0, 0}, + {&__pyx_kp_40, __pyx_k_40, sizeof(__pyx_k_40), 0, 0, 0}, + {&__pyx_kp_41, __pyx_k_41, sizeof(__pyx_k_41), 0, 0, 0}, + {&__pyx_kp_45, __pyx_k_45, sizeof(__pyx_k_45), 0, 0, 0}, + {&__pyx_kp_46, __pyx_k_46, sizeof(__pyx_k_46), 0, 0, 0}, + {&__pyx_kp_47, __pyx_k_47, sizeof(__pyx_k_47), 0, 0, 0}, + {&__pyx_kp_48, __pyx_k_48, sizeof(__pyx_k_48), 0, 0, 0}, + {&__pyx_kp_49, __pyx_k_49, sizeof(__pyx_k_49), 0, 0, 0}, + {&__pyx_kp_50, __pyx_k_50, sizeof(__pyx_k_50), 0, 0, 0}, + {&__pyx_kp_56, __pyx_k_56, sizeof(__pyx_k_56), 0, 0, 0}, + {&__pyx_kp_80, __pyx_k_80, sizeof(__pyx_k_80), 0, 0, 0}, + {&__pyx_kp_84, __pyx_k_84, sizeof(__pyx_k_84), 0, 0, 0}, + {&__pyx_kp_85, __pyx_k_85, sizeof(__pyx_k_85), 0, 0, 0}, + {&__pyx_kp_86, __pyx_k_86, sizeof(__pyx_k_86), 0, 0, 0}, + {&__pyx_kp_90, __pyx_k_90, sizeof(__pyx_k_90), 0, 0, 0}, + {&__pyx_kp_91, __pyx_k_91, sizeof(__pyx_k_91), 0, 0, 0}, + {&__pyx_kp_95, __pyx_k_95, sizeof(__pyx_k_95), 0, 0, 0}, + {&__pyx_kp_96, __pyx_k_96, sizeof(__pyx_k_96), 0, 0, 0}, + {&__pyx_kp_97, __pyx_k_97, sizeof(__pyx_k_97), 0, 0, 0}, + {&__pyx_kp_101, __pyx_k_101, sizeof(__pyx_k_101), 0, 0, 0}, + {&__pyx_kp_102, __pyx_k_102, sizeof(__pyx_k_102), 0, 0, 0}, + {&__pyx_kp_103, __pyx_k_103, sizeof(__pyx_k_103), 0, 0, 0}, + {&__pyx_kp_107, __pyx_k_107, sizeof(__pyx_k_107), 0, 0, 0}, + {&__pyx_kp_108, __pyx_k_108, sizeof(__pyx_k_108), 0, 0, 0}, + {&__pyx_kp_114, __pyx_k_114, sizeof(__pyx_k_114), 0, 0, 0}, + {&__pyx_kp_120, __pyx_k_120, sizeof(__pyx_k_120), 0, 0, 0}, + {&__pyx_kp_126, __pyx_k_126, sizeof(__pyx_k_126), 0, 0, 0}, + {&__pyx_kp_130, __pyx_k_130, sizeof(__pyx_k_130), 0, 0, 0}, + {&__pyx_kp_131, __pyx_k_131, sizeof(__pyx_k_131), 0, 0, 0}, + {&__pyx_kp_135, __pyx_k_135, sizeof(__pyx_k_135), 0, 0, 0}, + {&__pyx_kp_136, __pyx_k_136, sizeof(__pyx_k_136), 0, 0, 0}, + {&__pyx_kp_140, __pyx_k_140, sizeof(__pyx_k_140), 0, 0, 0}, + {&__pyx_kp_141, __pyx_k_141, sizeof(__pyx_k_141), 0, 0, 0}, + {&__pyx_kp_145, __pyx_k_145, sizeof(__pyx_k_145), 0, 0, 0}, + {&__pyx_kp_146, __pyx_k_146, sizeof(__pyx_k_146), 0, 0, 0}, + {&__pyx_kp_147, __pyx_k_147, sizeof(__pyx_k_147), 0, 0, 0}, + {&__pyx_kp_148, __pyx_k_148, sizeof(__pyx_k_148), 0, 0, 0}, + {&__pyx_kp_149, __pyx_k_149, sizeof(__pyx_k_149), 0, 0, 0}, + {&__pyx_kp_150, __pyx_k_150, sizeof(__pyx_k_150), 0, 0, 0}, + {&__pyx_kp_151, __pyx_k_151, sizeof(__pyx_k_151), 0, 0, 0}, + {&__pyx_kp_152, __pyx_k_152, sizeof(__pyx_k_152), 0, 0, 0}, + {&__pyx_kp_153, __pyx_k_153, sizeof(__pyx_k_153), 0, 0, 0}, + {&__pyx_kp_154, __pyx_k_154, sizeof(__pyx_k_154), 0, 0, 0}, + {&__pyx_kp_155, __pyx_k_155, sizeof(__pyx_k_155), 0, 0, 0}, + {&__pyx_kp_156, __pyx_k_156, sizeof(__pyx_k_156), 0, 0, 0}, + {&__pyx_kp_157, __pyx_k_157, sizeof(__pyx_k_157), 0, 0, 0}, + {&__pyx_kp_158, __pyx_k_158, sizeof(__pyx_k_158), 0, 0, 0}, + {&__pyx_kp_159, __pyx_k_159, sizeof(__pyx_k_159), 0, 0, 0}, + {&__pyx_kp_160, __pyx_k_160, sizeof(__pyx_k_160), 0, 0, 0}, + {&__pyx_kp_161, __pyx_k_161, sizeof(__pyx_k_161), 0, 0, 0}, + {&__pyx_kp_162, __pyx_k_162, sizeof(__pyx_k_162), 0, 0, 0}, + {&__pyx_kp_163, __pyx_k_163, sizeof(__pyx_k_163), 0, 0, 0}, + {&__pyx_kp_167, __pyx_k_167, sizeof(__pyx_k_167), 0, 0, 0}, + {&__pyx_kp_168, __pyx_k_168, sizeof(__pyx_k_168), 0, 0, 0}, + {&__pyx_kp_172, __pyx_k_172, sizeof(__pyx_k_172), 0, 0, 0}, + {&__pyx_kp_173, __pyx_k_173, sizeof(__pyx_k_173), 0, 0, 0}, + {&__pyx_kp_174, __pyx_k_174, sizeof(__pyx_k_174), 0, 0, 0}, + {&__pyx_kp_178, __pyx_k_178, sizeof(__pyx_k_178), 0, 0, 0}, + {&__pyx_kp_179, __pyx_k_179, sizeof(__pyx_k_179), 0, 0, 0}, + {&__pyx_kp_180, __pyx_k_180, sizeof(__pyx_k_180), 0, 0, 0}, + {&__pyx_kp_184, __pyx_k_184, sizeof(__pyx_k_184), 0, 0, 0}, + {&__pyx_kp_187, __pyx_k_187, sizeof(__pyx_k_187), 0, 0, 0}, + {&__pyx_kp_188, __pyx_k_188, sizeof(__pyx_k_188), 0, 0, 0}, + {&__pyx_kp_192, __pyx_k_192, sizeof(__pyx_k_192), 0, 0, 0}, + {&__pyx_kp_193, __pyx_k_193, sizeof(__pyx_k_193), 0, 0, 0}, + {&__pyx_kp_194, __pyx_k_194, sizeof(__pyx_k_194), 0, 0, 0}, + {&__pyx_kp_198, __pyx_k_198, sizeof(__pyx_k_198), 0, 0, 0}, + {&__pyx_kp_199, __pyx_k_199, sizeof(__pyx_k_199), 0, 0, 0}, + {&__pyx_kp_200, __pyx_k_200, sizeof(__pyx_k_200), 0, 0, 0}, + {&__pyx_kp_204, __pyx_k_204, sizeof(__pyx_k_204), 0, 0, 0}, + {&__pyx_kp_205, __pyx_k_205, sizeof(__pyx_k_205), 0, 0, 0}, + {&__pyx_kp_206, __pyx_k_206, sizeof(__pyx_k_206), 0, 0, 0}, + {&__pyx_kp_210, __pyx_k_210, sizeof(__pyx_k_210), 0, 0, 0}, + {&__pyx_kp_211, __pyx_k_211, sizeof(__pyx_k_211), 0, 0, 0}, + {&__pyx_kp_212, __pyx_k_212, sizeof(__pyx_k_212), 0, 0, 0}, + {&__pyx_kp_216, __pyx_k_216, sizeof(__pyx_k_216), 0, 0, 0}, + {&__pyx_kp_217, __pyx_k_217, sizeof(__pyx_k_217), 0, 0, 0}, + {&__pyx_kp_218, __pyx_k_218, sizeof(__pyx_k_218), 0, 0, 0}, + {&__pyx_kp_224, __pyx_k_224, sizeof(__pyx_k_224), 0, 0, 0}, + {&__pyx_kp_228, __pyx_k_228, sizeof(__pyx_k_228), 0, 0, 0}, + {&__pyx_kp_229, __pyx_k_229, sizeof(__pyx_k_229), 0, 0, 0}, + {&__pyx_kp_230, __pyx_k_230, sizeof(__pyx_k_230), 0, 0, 0}, + {&__pyx_kp_234, __pyx_k_234, sizeof(__pyx_k_234), 0, 0, 0}, + {&__pyx_kp_235, __pyx_k_235, sizeof(__pyx_k_235), 0, 0, 0}, + {&__pyx_kp_236, __pyx_k_236, sizeof(__pyx_k_236), 0, 0, 0}, + {&__pyx_kp_240, __pyx_k_240, sizeof(__pyx_k_240), 0, 0, 0}, + {&__pyx_kp_241, __pyx_k_241, sizeof(__pyx_k_241), 0, 0, 0}, + {&__pyx_kp_242, __pyx_k_242, sizeof(__pyx_k_242), 0, 0, 0}, + {&__pyx_kp_246, __pyx_k_246, sizeof(__pyx_k_246), 0, 0, 0}, + {&__pyx_kp_247, __pyx_k_247, sizeof(__pyx_k_247), 0, 0, 0}, + {&__pyx_kp_248, __pyx_k_248, sizeof(__pyx_k_248), 0, 0, 0}, + {&__pyx_kp_252, __pyx_k_252, sizeof(__pyx_k_252), 0, 0, 0}, + {&__pyx_kp_253, __pyx_k_253, sizeof(__pyx_k_253), 0, 0, 0}, + {&__pyx_kp_254, __pyx_k_254, sizeof(__pyx_k_254), 0, 0, 0}, + {&__pyx_kp_258, __pyx_k_258, sizeof(__pyx_k_258), 0, 0, 0}, + {&__pyx_kp_259, __pyx_k_259, sizeof(__pyx_k_259), 0, 0, 0}, + {&__pyx_kp_260, __pyx_k_260, sizeof(__pyx_k_260), 0, 0, 0}, + {&__pyx_kp_264, __pyx_k_264, sizeof(__pyx_k_264), 0, 0, 0}, + {&__pyx_kp_265, __pyx_k_265, sizeof(__pyx_k_265), 0, 0, 0}, + {&__pyx_kp_266, __pyx_k_266, sizeof(__pyx_k_266), 0, 0, 0}, + {&__pyx_kp_270, __pyx_k_270, sizeof(__pyx_k_270), 0, 0, 0}, + {&__pyx_kp_271, __pyx_k_271, sizeof(__pyx_k_271), 0, 0, 0}, + {&__pyx_kp_272, __pyx_k_272, sizeof(__pyx_k_272), 0, 0, 0}, + {&__pyx_kp_276, __pyx_k_276, sizeof(__pyx_k_276), 0, 0, 0}, + {&__pyx_kp_277, __pyx_k_277, sizeof(__pyx_k_277), 0, 0, 0}, + {&__pyx_kp_278, __pyx_k_278, sizeof(__pyx_k_278), 0, 0, 0}, + {&__pyx_kp_282, __pyx_k_282, sizeof(__pyx_k_282), 0, 0, 0}, + {&__pyx_kp_283, __pyx_k_283, sizeof(__pyx_k_283), 0, 0, 0}, + {&__pyx_kp_284, __pyx_k_284, sizeof(__pyx_k_284), 0, 0, 0}, + {&__pyx_kp_288, __pyx_k_288, sizeof(__pyx_k_288), 0, 0, 0}, + {&__pyx_kp_289, __pyx_k_289, sizeof(__pyx_k_289), 0, 0, 0}, + {&__pyx_kp_290, __pyx_k_290, sizeof(__pyx_k_290), 0, 0, 0}, + {&__pyx_kp_294, __pyx_k_294, sizeof(__pyx_k_294), 0, 0, 0}, + {&__pyx_kp_295, __pyx_k_295, sizeof(__pyx_k_295), 0, 0, 0}, + {&__pyx_kp_296, __pyx_k_296, sizeof(__pyx_k_296), 0, 0, 0}, + {&__pyx_kp_300, __pyx_k_300, sizeof(__pyx_k_300), 0, 0, 0}, + {&__pyx_kp_301, __pyx_k_301, sizeof(__pyx_k_301), 0, 0, 0}, + {&__pyx_kp_302, __pyx_k_302, sizeof(__pyx_k_302), 0, 0, 0}, + {&__pyx_kp_306, __pyx_k_306, sizeof(__pyx_k_306), 0, 0, 0}, + {&__pyx_kp_307, __pyx_k_307, sizeof(__pyx_k_307), 0, 0, 0}, + {&__pyx_kp_308, __pyx_k_308, sizeof(__pyx_k_308), 0, 0, 0}, + {&__pyx_kp_312, __pyx_k_312, sizeof(__pyx_k_312), 0, 0, 0}, + {&__pyx_kp_313, __pyx_k_313, sizeof(__pyx_k_313), 0, 0, 0}, + {&__pyx_kp_314, __pyx_k_314, sizeof(__pyx_k_314), 0, 0, 0}, + {&__pyx_kp_318, __pyx_k_318, sizeof(__pyx_k_318), 0, 0, 0}, + {&__pyx_kp_319, __pyx_k_319, sizeof(__pyx_k_319), 0, 0, 0}, + {&__pyx_kp_320, __pyx_k_320, sizeof(__pyx_k_320), 0, 0, 0}, + {&__pyx_kp_324, __pyx_k_324, sizeof(__pyx_k_324), 0, 0, 0}, + {&__pyx_kp_325, __pyx_k_325, sizeof(__pyx_k_325), 0, 0, 0}, + {&__pyx_kp_326, __pyx_k_326, sizeof(__pyx_k_326), 0, 0, 0}, + {&__pyx_kp_330, __pyx_k_330, sizeof(__pyx_k_330), 0, 0, 0}, + {&__pyx_kp_331, __pyx_k_331, sizeof(__pyx_k_331), 0, 0, 0}, + {&__pyx_kp_332, __pyx_k_332, sizeof(__pyx_k_332), 0, 0, 0}, + {&__pyx_kp_336, __pyx_k_336, sizeof(__pyx_k_336), 0, 0, 0}, + {&__pyx_kp_337, __pyx_k_337, sizeof(__pyx_k_337), 0, 0, 0}, + {&__pyx_kp_338, __pyx_k_338, sizeof(__pyx_k_338), 0, 0, 0}, + {&__pyx_kp_342, __pyx_k_342, sizeof(__pyx_k_342), 0, 0, 0}, + {&__pyx_kp_343, __pyx_k_343, sizeof(__pyx_k_343), 0, 0, 0}, + {&__pyx_kp_344, __pyx_k_344, sizeof(__pyx_k_344), 0, 0, 0}, + {&__pyx_kp_348, __pyx_k_348, sizeof(__pyx_k_348), 0, 0, 0}, + {&__pyx_kp_349, __pyx_k_349, sizeof(__pyx_k_349), 0, 0, 0}, + {&__pyx_kp_350, __pyx_k_350, sizeof(__pyx_k_350), 0, 0, 0}, + {&__pyx_kp_351, __pyx_k_351, sizeof(__pyx_k_351), 0, 0, 0}, + {&__pyx_kp_352, __pyx_k_352, sizeof(__pyx_k_352), 0, 0, 0}, + {&__pyx_kp_353, __pyx_k_353, sizeof(__pyx_k_353), 0, 0, 0}, + {&__pyx_kp_354, __pyx_k_354, sizeof(__pyx_k_354), 0, 0, 0}, + {&__pyx_kp_355, __pyx_k_355, sizeof(__pyx_k_355), 0, 0, 0}, + {&__pyx_kp_356, __pyx_k_356, sizeof(__pyx_k_356), 0, 0, 0}, + {&__pyx_kp_357, __pyx_k_357, sizeof(__pyx_k_357), 0, 0, 0}, + {&__pyx_kp_358, __pyx_k_358, sizeof(__pyx_k_358), 0, 0, 0}, + {&__pyx_kp_359, __pyx_k_359, sizeof(__pyx_k_359), 0, 0, 0}, + {&__pyx_kp_360, __pyx_k_360, sizeof(__pyx_k_360), 0, 0, 0}, + {&__pyx_kp_361, __pyx_k_361, sizeof(__pyx_k_361), 0, 0, 0}, + {&__pyx_kp_362, __pyx_k_362, sizeof(__pyx_k_362), 0, 0, 0}, + {&__pyx_kp_363, __pyx_k_363, sizeof(__pyx_k_363), 0, 0, 0}, + {&__pyx_kp_364, __pyx_k_364, sizeof(__pyx_k_364), 0, 0, 0}, + {&__pyx_kp_365, __pyx_k_365, sizeof(__pyx_k_365), 0, 0, 0}, + {&__pyx_kp_366, __pyx_k_366, sizeof(__pyx_k_366), 0, 0, 0}, + {&__pyx_kp_367, __pyx_k_367, sizeof(__pyx_k_367), 0, 0, 0}, + {&__pyx_kp_368, __pyx_k_368, sizeof(__pyx_k_368), 0, 0, 0}, + {&__pyx_kp_369, __pyx_k_369, sizeof(__pyx_k_369), 0, 0, 0}, + {&__pyx_kp_370, __pyx_k_370, sizeof(__pyx_k_370), 0, 0, 0}, + {&__pyx_kp_371, __pyx_k_371, sizeof(__pyx_k_371), 0, 0, 0}, + {&__pyx_kp_372, __pyx_k_372, sizeof(__pyx_k_372), 0, 0, 0}, + {&__pyx_kp_373, __pyx_k_373, sizeof(__pyx_k_373), 0, 0, 0}, + {&__pyx_kp_374, __pyx_k_374, sizeof(__pyx_k_374), 0, 0, 0}, + {&__pyx_kp_375, __pyx_k_375, sizeof(__pyx_k_375), 0, 0, 0}, + {&__pyx_kp_376, __pyx_k_376, sizeof(__pyx_k_376), 0, 0, 0}, + {&__pyx_kp_377, __pyx_k_377, sizeof(__pyx_k_377), 0, 0, 0}, + {&__pyx_kp_378, __pyx_k_378, sizeof(__pyx_k_378), 0, 0, 0}, + {&__pyx_kp_379, __pyx_k_379, sizeof(__pyx_k_379), 0, 0, 0}, + {&__pyx_kp_380, __pyx_k_380, sizeof(__pyx_k_380), 0, 0, 0}, + {&__pyx_kp_381, __pyx_k_381, sizeof(__pyx_k_381), 0, 0, 0}, + {&__pyx_kp_412, __pyx_k_412, sizeof(__pyx_k_412), 0, 0, 0}, + {&__pyx_kp_414, __pyx_k_414, sizeof(__pyx_k_414), 0, 0, 0}, + {&__pyx_kp_416, __pyx_k_416, sizeof(__pyx_k_416), 0, 0, 0}, + {&__pyx_kp_418, __pyx_k_418, sizeof(__pyx_k_418), 0, 0, 0}, + {&__pyx_kp_420, __pyx_k_420, sizeof(__pyx_k_420), 0, 0, 0}, + {&__pyx_kp_422, __pyx_k_422, sizeof(__pyx_k_422), 0, 0, 0}, + {&__pyx_kp_424, __pyx_k_424, sizeof(__pyx_k_424), 0, 0, 0}, + {&__pyx_kp_457, __pyx_k_457, sizeof(__pyx_k_457), 0, 0, 0}, + {0, 0, 0, 0, 0, 0} +}; +static int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_property = __Pyx_GetName(__pyx_b, __pyx_kp_property); if (!__pyx_builtin_property) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + return 0; + __pyx_L1_error:; + return -1; +} + +static int __Pyx_InitGlobals(void) { + __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_7 = PyInt_FromLong(7); if (unlikely(!__pyx_int_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_9 = PyInt_FromLong(9); if (unlikely(!__pyx_int_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_11 = PyInt_FromLong(11); if (unlikely(!__pyx_int_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_12 = PyInt_FromLong(12); if (unlikely(!__pyx_int_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_13 = PyInt_FromLong(13); if (unlikely(!__pyx_int_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_14 = PyInt_FromLong(14); if (unlikely(!__pyx_int_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_16 = PyInt_FromLong(16); if (unlikely(!__pyx_int_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + return 0; + __pyx_L1_error:; + return -1; +} + +#if PY_MAJOR_VERSION < 3 +PyMODINIT_FUNC initpurple(void); /*proto*/ +PyMODINIT_FUNC initpurple(void) +#else +PyMODINIT_FUNC PyInit_purple(void); /*proto*/ +PyMODINIT_FUNC PyInit_purple(void) +#endif +{ + PyObject *__pyx_1 = 0; + PyObject *__pyx_2 = 0; + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*--- Library function declarations ---*/ + __pyx_init_filenames(); + /*--- Initialize various global constants etc. ---*/ + if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*--- Module creation code ---*/ + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("purple", __pyx_methods, 0, 0, PYTHON_API_VERSION); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + #if PY_MAJOR_VERSION < 3 + Py_INCREF(__pyx_m); + #endif + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); + if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + /*--- Builtin init code ---*/ + if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_skip_dispatch = 0; + /*--- Global init code ---*/ + /*--- Function export code ---*/ + /*--- Type init code ---*/ + __pyx_vtabptr_6purple_Purple = &__pyx_vtable_6purple_Purple; + *(void(**)(void))&__pyx_vtable_6purple_Purple.__core_ui_ops_ui_prefs_init = (void(*)(void))__pyx_f_6purple_6Purple___core_ui_ops_ui_prefs_init; + *(void(**)(void))&__pyx_vtable_6purple_Purple.__core_ui_ops_debug_init = (void(*)(void))__pyx_f_6purple_6Purple___core_ui_ops_debug_init; + *(void(**)(void))&__pyx_vtable_6purple_Purple.__core_ui_ops_ui_init = (void(*)(void))__pyx_f_6purple_6Purple___core_ui_ops_ui_init; + *(void(**)(void))&__pyx_vtable_6purple_Purple.__core_ui_ops_quit = (void(*)(void))__pyx_f_6purple_6Purple___core_ui_ops_quit; + *(void(**)(void))&__pyx_vtable_6purple_Purple.__core_ui_ops_get_ui_info = (void(*)(void))__pyx_f_6purple_6Purple___core_ui_ops_get_ui_info; + if (PyType_Ready(&__pyx_type_6purple_Purple) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_SetVtable(__pyx_type_6purple_Purple.tp_dict, __pyx_vtabptr_6purple_Purple) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttrString(__pyx_m, "Purple", (PyObject *)&__pyx_type_6purple_Purple) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_6purple_Purple = &__pyx_type_6purple_Purple; + __pyx_vtabptr_6purple_Protocol = &__pyx_vtable_6purple_Protocol; + *(void(**)(void))&__pyx_vtable_6purple_Protocol._get_structure = (void(*)(void))__pyx_f_6purple_8Protocol__get_structure; + if (PyType_Ready(&__pyx_type_6purple_Protocol) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_SetVtable(__pyx_type_6purple_Protocol.tp_dict, __pyx_vtabptr_6purple_Protocol) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttrString(__pyx_m, "Protocol", (PyObject *)&__pyx_type_6purple_Protocol) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_6purple_Protocol = &__pyx_type_6purple_Protocol; + if (PyType_Ready(&__pyx_type_6purple_ProxyInfoType) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttrString(__pyx_m, "ProxyInfoType", (PyObject *)&__pyx_type_6purple_ProxyInfoType) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_6purple_ProxyInfoType = &__pyx_type_6purple_ProxyInfoType; + if (PyType_Ready(&__pyx_type_6purple_ProxyInfo) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttrString(__pyx_m, "ProxyInfo", (PyObject *)&__pyx_type_6purple_ProxyInfo) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_6purple_ProxyInfo = &__pyx_type_6purple_ProxyInfo; + __pyx_vtabptr_6purple_Account = &__pyx_vtable_6purple_Account; + *(void(**)(void))&__pyx_vtable_6purple_Account._get_structure = (void(*)(void))__pyx_f_6purple_7Account__get_structure; + if (PyType_Ready(&__pyx_type_6purple_Account) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_SetVtable(__pyx_type_6purple_Account.tp_dict, __pyx_vtabptr_6purple_Account) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttrString(__pyx_m, "Account", (PyObject *)&__pyx_type_6purple_Account) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_6purple_Account = &__pyx_type_6purple_Account; + __pyx_vtabptr_6purple_Buddy = &__pyx_vtable_6purple_Buddy; + *(void(**)(void))&__pyx_vtable_6purple_Buddy._get_structure = (void(*)(void))__pyx_f_6purple_5Buddy__get_structure; + if (PyType_Ready(&__pyx_type_6purple_Buddy) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_SetVtable(__pyx_type_6purple_Buddy.tp_dict, __pyx_vtabptr_6purple_Buddy) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttrString(__pyx_m, "Buddy", (PyObject *)&__pyx_type_6purple_Buddy) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_6purple_Buddy = &__pyx_type_6purple_Buddy; + __pyx_vtabptr_6purple_Conversation = &__pyx_vtable_6purple_Conversation; + *(void(**)(void))&__pyx_vtable_6purple_Conversation._get_structure = (void(*)(void))__pyx_f_6purple_12Conversation__get_structure; + if (PyType_Ready(&__pyx_type_6purple_Conversation) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_SetVtable(__pyx_type_6purple_Conversation.tp_dict, __pyx_vtabptr_6purple_Conversation) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttrString(__pyx_m, "Conversation", (PyObject *)&__pyx_type_6purple_Conversation) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_6purple_Conversation = &__pyx_type_6purple_Conversation; + /*--- Type import code ---*/ + /*--- Function import code ---*/ + /*--- Execution code ---*/ + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":25 + * glib.guint glib_input_add(glib.gint fd, eventloop.PurpleInputCondition condition, eventloop.PurpleInputFunction function, glib.gpointer data) + * + * import ecore # <<<<<<<<<<<<<< + * + * cdef glib.GHashTable *c_ui_info + */ + __pyx_1 = __Pyx_Import(__pyx_kp_ecore, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_ecore, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(__pyx_1); __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":29 + * cdef glib.GHashTable *c_ui_info + * + * c_ui_info = NULL # <<<<<<<<<<<<<< + * + * cdef char *c_ui_name + */ + __pyx_v_6purple_c_ui_info = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":25 + * ctypedef char const_char "const char" + * + * account_cbs = {} # <<<<<<<<<<<<<< + * + * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_authorize_cb = NULL + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_account_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":27 + * account_cbs = {} + * + * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_authorize_cb = NULL # <<<<<<<<<<<<<< + * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_deny_cb = NULL + * cdef void *c_request_authorize_user_data = NULL + */ + __pyx_v_6purple_c_request_authorize_authorize_cb = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":28 + * + * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_authorize_cb = NULL + * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_deny_cb = NULL # <<<<<<<<<<<<<< + * cdef void *c_request_authorize_user_data = NULL + * + */ + __pyx_v_6purple_c_request_authorize_deny_cb = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":29 + * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_authorize_cb = NULL + * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_deny_cb = NULL + * cdef void *c_request_authorize_user_data = NULL # <<<<<<<<<<<<<< + * + * def call_authorize_cb(): + */ + __pyx_v_6purple_c_request_authorize_user_data = NULL; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":25 + * ctypedef char const_char "const char" + * + * blist_cbs = {} # <<<<<<<<<<<<<< + * + * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback): + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_blist_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/connection_cbs.pxd":22 + * cimport purple + * + * cdef extern from *: # <<<<<<<<<<<<<< + * ctypedef char const_char "const char" + * + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_connection_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation_cbs.pxd":27 + * ctypedef long int time_t + * + * conversation_cbs = {} # <<<<<<<<<<<<<< + * + * cdef void create_conversation(conversation.PurpleConversation *conv): + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_conversation_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/notify_cbs.pxd":26 + * ctypedef int size_t + * + * notify_cbs = {} # <<<<<<<<<<<<<< + * + * cdef void *notify_message(notify.PurpleNotifyMsgType type, \ + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_notify_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/request_cbs.pxd":27 + * ctypedef void* va_list + * + * request_cbs = {} # <<<<<<<<<<<<<< + * + * cdef void *request_input(const_char *title, const_char *primary, \ + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_request_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/signal_cbs.pxd":22 + * cimport purple + * + * signal_cbs = {} # <<<<<<<<<<<<<< + * + * cdef extern from *: + */ + __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_m, __pyx_kp_signal_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":96 + * global c_ui_name + * return str(c_ui_name) + * ui_name = property(__get_ui_name) # <<<<<<<<<<<<<< + * + * cdef void __core_ui_ops_ui_prefs_init(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Purple, __pyx_kp___get_ui_name); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Purple->tp_dict, __pyx_kp_ui_name, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Purple); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":43 + * def __get_exists(self): + * return self.__exists + * exists = property(__get_exists) # <<<<<<<<<<<<<< + * + * def __get_id(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Protocol, __pyx_kp___get_exists); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Protocol->tp_dict, __pyx_kp_exists, __pyx_2) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Protocol); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":47 + * def __get_id(self): + * return self.__id + * id = property(__get_id) # <<<<<<<<<<<<<< + * + * def __get_name(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Protocol, __pyx_kp___get_id); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Protocol->tp_dict, __pyx_kp_id, __pyx_1) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Protocol); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":58 + * return None + * return None + * name = property(__get_name) # <<<<<<<<<<<<<< + * + * def __get_options_labels(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Protocol, __pyx_kp___get_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Protocol->tp_dict, __pyx_kp_name, __pyx_2) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Protocol); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":92 + * + * return po + * options_labels = property(__get_options_labels) # <<<<<<<<<<<<<< + * + * def __get_options_values(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Protocol, __pyx_kp_3); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Protocol->tp_dict, __pyx_kp_options_labels, __pyx_1) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Protocol); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":148 + * + * return po + * options_values = property(__get_options_values) # <<<<<<<<<<<<<< + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Protocol, __pyx_kp_4); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Protocol->tp_dict, __pyx_kp_options_values, __pyx_2) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Protocol); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":31 + * self.c_type = proxy.PURPLE_PROXY_NONE + * return self + * NONE = property(get_NONE) # <<<<<<<<<<<<<< + * + * def get_USE_GLOBAL(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_ProxyInfoType, __pyx_kp_get_NONE); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_ProxyInfoType->tp_dict, __pyx_kp_NONE, __pyx_1) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_ProxyInfoType); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":36 + * self.c_type = proxy.PURPLE_PROXY_USE_GLOBAL + * return self + * USE_GLOBAL = property(get_USE_GLOBAL) # <<<<<<<<<<<<<< + * + * def get_HTTP(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_ProxyInfoType, __pyx_kp_get_USE_GLOBAL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_ProxyInfoType->tp_dict, __pyx_kp_USE_GLOBAL, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_ProxyInfoType); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":41 + * self.c_type = proxy.PURPLE_PROXY_HTTP + * return self + * HTTP = property(get_HTTP) # <<<<<<<<<<<<<< + * + * def get_SOCKS4(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_ProxyInfoType, __pyx_kp_get_HTTP); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_ProxyInfoType->tp_dict, __pyx_kp_HTTP, __pyx_1) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_ProxyInfoType); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":54 + * self.c_type = proxy.PURPLE_PROXY_USE_ENVVAR + * return self + * USE_ENVVAR = property(get_USE_ENVVAR) # <<<<<<<<<<<<<< + * + * cdef class ProxyInfo: + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_ProxyInfoType, __pyx_kp_get_USE_ENVVAR); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_ProxyInfoType->tp_dict, __pyx_kp_USE_ENVVAR, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_ProxyInfoType); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":49 + * self.__protocol.id) + * + * def __is_connected(self): # <<<<<<<<<<<<<< + * if self.__exists: + * return account.purple_account_is_connected(self._get_structure()) + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___is_connected); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_is_connected, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":61 + * else: + * return None + * is_connecting = property(__is_connecting) # <<<<<<<<<<<<<< + * + * def __is_disconnected(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___is_connecting); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_is_connecting, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":69 + * else: + * return None + * is_disconnected = property(__is_disconnected) # <<<<<<<<<<<<<< + * + * def __get_core(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___is_disconnected); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_is_disconnected, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":73 + * def __get_core(self): + * return self.__core + * core = property(__get_core) # <<<<<<<<<<<<<< + * + * def __get_exists(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_core); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_core, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":77 + * def __get_exists(self): + * return self.__exists + * exists = property(__get_exists) # <<<<<<<<<<<<<< + * + * def __get_username(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_exists); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_exists, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":90 + * else: + * return self.__username + * username = property(__get_username) # <<<<<<<<<<<<<< + * + * def __get_protocol(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_username, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":94 + * def __get_protocol(self): + * return self.__protocol + * protocol = property(__get_protocol) # <<<<<<<<<<<<<< + * + * def _get_protocol_options(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_protocol); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_protocol, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":170 + * + * return po + * protocol_options = property(_get_protocol_options) # <<<<<<<<<<<<<< + * + * def __get_password(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp_7); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_protocol_options, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":183 + * else: + * return None + * password = property(__get_password) # <<<<<<<<<<<<<< + * + * def __get_alias(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_password); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_password, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":195 + * else: + * return None + * alias = property(__get_alias) # <<<<<<<<<<<<<< + * + * def __get_user_info(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_alias, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":207 + * else: + * return None + * user_info = property(__get_user_info) # <<<<<<<<<<<<<< + * + * def __get_remember_password(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_user_info); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_user_info, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":215 + * else: + * return None + * remember_password = property(__get_remember_password) # <<<<<<<<<<<<<< + * + * def __get_enabled(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp_8); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_remember_password, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":223 + * else: + * return None + * enabled = property(__get_enabled) # <<<<<<<<<<<<<< + * + * def __get_status_types(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_enabled); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_enabled, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":244 + * return None + * + * status_types = property(__get_status_types) # <<<<<<<<<<<<<< + * + * def __get_active_status(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_status_types); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_status_types, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":267 + * else: + * return None + * active_status = property(__get_active_status) # <<<<<<<<<<<<<< + * + * def set_username(self, username): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_active_status); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_active_status, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Account); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":49 + * def __get_exists(self): + * return self.__exists + * exists = property(__get_exists) # <<<<<<<<<<<<<< + * + * def __get_name(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_exists); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_exists, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":56 + * else: + * return self.__name + * name = property(__get_name) # <<<<<<<<<<<<<< + * + * def __get_account(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_name); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_name, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":63 + * else: + * return None + * account = property(__get_account) # <<<<<<<<<<<<<< + * + * def __get_alias(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_account); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_account, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":73 + * else: + * return None + * alias = property(__get_alias) # <<<<<<<<<<<<<< + * + * def __get_group(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_alias); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_alias, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":82 + * else: + * return None + * group = property(__get_group) # <<<<<<<<<<<<<< + * + * def __get_server_alias(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_group); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_group, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":92 + * else: + * return None + * server_alias = property(__get_server_alias) # <<<<<<<<<<<<<< + * + * def __get_contact_alias(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_server_alias); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_server_alias, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":102 + * else: + * return None + * contact_alias = property(__get_contact_alias) # <<<<<<<<<<<<<< + * + * def __get_local_alias(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_contact_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_contact_alias, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":112 + * else: + * return None + * local_alias = property(__get_local_alias) # <<<<<<<<<<<<<< + * + * def __get_available(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_local_alias); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_local_alias, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":120 + * else: + * return None + * available = property(__get_available) # <<<<<<<<<<<<<< + * + * def __get_online(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_available); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_available, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":128 + * else: + * return None + * online = property(__get_online) # <<<<<<<<<<<<<< + * + * def __get_idle(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_online); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_online, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":136 + * else: + * return None + * idle = property(__get_idle) # <<<<<<<<<<<<<< + * + * def __get_active_status(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_idle); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_idle, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":160 + * else: + * return None + * active_status = property(__get_active_status) # <<<<<<<<<<<<<< + * + * def set_alias(self, alias): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_active_status); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_active_status, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Buddy); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":57 + * def __get_exists(self): + * return self.__exists + * exists = property(__get_exists) # <<<<<<<<<<<<<< + * + * def __get_account(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Conversation, __pyx_kp___get_exists); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Conversation->tp_dict, __pyx_kp_exists, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Conversation); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":64 + * else: + * return None + * account = property(__get_account) # <<<<<<<<<<<<<< + * + * def __get_name(self): + */ + __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Conversation, __pyx_kp___get_account); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1); + __pyx_1 = 0; + __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Conversation->tp_dict, __pyx_kp_account, __pyx_1) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Conversation); + + /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/conversation.pyx":72 + * else: + * return None + * name = property(__get_name) # <<<<<<<<<<<<<< + * + * def new(self): + */ + __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Conversation, __pyx_kp___get_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); + __pyx_2 = 0; + __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Conversation->tp_dict, __pyx_kp_name, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + PyType_Modified(__pyx_ptype_6purple_Conversation); + + /* "libpurple/idle.pxd":1 + * # # <<<<<<<<<<<<<< + * # Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia + * # + */ + #if PY_MAJOR_VERSION < 3 + return; + #else + return __pyx_m; + #endif + __pyx_L1_error:; + Py_XDECREF(__pyx_1); + Py_XDECREF(__pyx_2); + __Pyx_AddTraceback("purple"); + #if PY_MAJOR_VERSION >= 3 + return NULL; + #endif +} + +static const char *__pyx_filenames[] = { + "purple.pyx", + "account_cbs.pxd", + "blist_cbs.pxd", + "connection_cbs.pxd", + "conversation_cbs.pxd", + "notify_cbs.pxd", + "request_cbs.pxd", + "signal_cbs.pxd", + "util.pxd", + "protocol.pyx", + "proxy.pyx", + "account.pyx", + "buddy.pyx", + "conversation.pyx", +}; + +/* Runtime support code */ + +static void __pyx_init_filenames(void) { + __pyx_f = __pyx_filenames; +} + + +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AS_STRING(kw_name)); + #endif +} + +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *number, *more_or_less; + + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + number = (num_expected == 1) ? "" : "s"; + PyErr_Format(PyExc_TypeError, + #if PY_VERSION_HEX < 0x02050000 + "%s() takes %s %d positional argument%s (%d given)", + #else + "%s() takes %s %zd positional argument%s (%zd given)", + #endif + func_name, more_or_less, num_expected, number, num_found); +} + +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + + while (PyDict_Next(kwds, &pos, &key, &value)) { + #if PY_MAJOR_VERSION < 3 + if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) { + #else + if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) { + #endif + goto invalid_keyword_type; + } else { + name = argnames; + while (*name && (**name != key)) name++; + if (*name) { + if (name < first_kw_arg) goto arg_passed_twice; + values[name-argnames] = value; + } else { + for (name = first_kw_arg; *name; name++) { + #if PY_MAJOR_VERSION >= 3 + if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && + PyUnicode_Compare(**name, key) == 0) break; + #else + if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && + strcmp(PyString_AS_STRING(**name), + PyString_AS_STRING(key)) == 0) break; + #endif + } + if (*name) { + values[name-argnames] = value; + } else { + /* unexpected keyword found */ + for (name=argnames; name != first_kw_arg; name++) { + if (**name == key) goto arg_passed_twice; + #if PY_MAJOR_VERSION >= 3 + if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && + PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice; + #else + if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && + strcmp(PyString_AS_STRING(**name), + PyString_AS_STRING(key)) == 0) goto arg_passed_twice; + #endif + } + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + } + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, **name); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%s() got an unexpected keyword argument '%s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +static INLINE int __Pyx_CheckKeywordStrings( + PyObject *kwdict, + const char* function_name, + int kw_allowed) +{ + PyObject* key = 0; + Py_ssize_t pos = 0; + while (PyDict_Next(kwdict, &pos, &key, 0)) { + #if PY_MAJOR_VERSION < 3 + if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) + #else + if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) + #endif + goto invalid_keyword_type; + } + if ((!kw_allowed) && unlikely(key)) + goto invalid_keyword; + return 1; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%s() keywords must be strings", function_name); + return 0; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%s() got an unexpected keyword argument '%s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif + return 0; +} + +static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, + const char *name, int exact) +{ + if (!type) { + PyErr_Format(PyExc_SystemError, "Missing type object"); + return 0; + } + if (none_allowed && obj == Py_None) return 1; + else if (exact) { + if (Py_TYPE(obj) == type) return 1; + } + else { + if (PyObject_TypeCheck(obj, type)) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%s' has incorrect type (expected %s, got %s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) { + PyObject *__import__ = 0; + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + __import__ = PyObject_GetAttrString(__pyx_b, "__import__"); + if (!__import__) + goto bad; + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + module = PyObject_CallFunction(__import__, "OOOO", + name, global_dict, empty_dict, list); +bad: + Py_XDECREF(empty_list); + Py_XDECREF(__import__); + Py_XDECREF(empty_dict); + return module; +} + +static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { + PyObject *result; + result = PyObject_GetAttr(dict, name); + if (!result) + PyErr_SetObject(PyExc_NameError, name); + return result; +} + +static void __Pyx_WriteUnraisable(const char *name) { + PyObject *old_exc, *old_val, *old_tb; + PyObject *ctx; + __Pyx_ErrFetch(&old_exc, &old_val, &old_tb); + #if PY_MAJOR_VERSION < 3 + ctx = PyString_FromString(name); + #else + ctx = PyUnicode_FromString(name); + #endif + __Pyx_ErrRestore(old_exc, old_val, old_tb); + if (!ctx) { + PyErr_WriteUnraisable(Py_None); + } else { + PyErr_WriteUnraisable(ctx); + Py_DECREF(ctx); + } +} + +static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyThreadState *tstate = PyThreadState_GET(); + + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} + +static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { + PyThreadState *tstate = PyThreadState_GET(); + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} + + +static int __Pyx_SetVtable(PyObject *dict, void *vtable) { + PyObject *pycobj = 0; + int result; + + pycobj = PyCObject_FromVoidPtr(vtable, 0); + if (!pycobj) + goto bad; + if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0) + goto bad; + result = 0; + goto done; + +bad: + result = -1; +done: + Py_XDECREF(pycobj); + return result; +} + +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" + +static void __Pyx_AddTraceback(const char *funcname) { + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + PyObject *py_globals = 0; + PyObject *empty_string = 0; + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(__pyx_filename); + #else + py_srcfile = PyUnicode_FromString(__pyx_filename); + #endif + if (!py_srcfile) goto bad; + if (__pyx_clineno) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_globals = PyModule_GetDict(__pyx_m); + if (!py_globals) goto bad; + #if PY_MAJOR_VERSION < 3 + empty_string = PyString_FromStringAndSize("", 0); + #else + empty_string = PyBytes_FromStringAndSize("", 0); + #endif + if (!empty_string) goto bad; + py_code = PyCode_New( + 0, /*int argcount,*/ + #if PY_MAJOR_VERSION >= 3 + 0, /*int kwonlyargcount,*/ + #endif + 0, /*int nlocals,*/ + 0, /*int stacksize,*/ + 0, /*int flags,*/ + empty_string, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + __pyx_lineno, /*int firstlineno,*/ + empty_string /*PyObject *lnotab*/ + ); + if (!py_code) goto bad; + py_frame = PyFrame_New( + PyThreadState_GET(), /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + py_globals, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + py_frame->f_lineno = __pyx_lineno; + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + Py_XDECREF(empty_string); + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode && (!t->is_identifier)) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else /* Python 3+ has unicode identifiers */ + if (t->is_identifier || (t->is_unicode && t->intern)) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->is_unicode) { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + ++t; + } + return 0; +} + +/* Type Conversion Functions */ + +static INLINE Py_ssize_t __pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject* x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} + +static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + if (x == Py_True) return 1; + else if (x == Py_False) return 0; + else return PyObject_IsTrue(x); +} + +static INLINE PY_LONG_LONG __pyx_PyInt_AsLongLong(PyObject* x) { + if (PyInt_CheckExact(x)) { + return PyInt_AS_LONG(x); + } + else if (PyLong_CheckExact(x)) { + return PyLong_AsLongLong(x); + } + else { + PY_LONG_LONG val; + PyObject* tmp = PyNumber_Int(x); if (!tmp) return (PY_LONG_LONG)-1; + val = __pyx_PyInt_AsLongLong(tmp); + Py_DECREF(tmp); + return val; + } +} + +static INLINE unsigned PY_LONG_LONG __pyx_PyInt_AsUnsignedLongLong(PyObject* x) { + if (PyInt_CheckExact(x)) { + long val = PyInt_AS_LONG(x); + if (unlikely(val < 0)) { + PyErr_SetString(PyExc_TypeError, "Negative assignment to unsigned type."); + return (unsigned PY_LONG_LONG)-1; + } + return val; + } + else if (PyLong_CheckExact(x)) { + return PyLong_AsUnsignedLongLong(x); + } + else { + PY_LONG_LONG val; + PyObject* tmp = PyNumber_Int(x); if (!tmp) return (PY_LONG_LONG)-1; + val = __pyx_PyInt_AsUnsignedLongLong(tmp); + Py_DECREF(tmp); + return val; + } +} + + +static INLINE unsigned char __pyx_PyInt_unsigned_char(PyObject* x) { + if (sizeof(unsigned char) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + unsigned char val = (unsigned char)long_val; + if (unlikely((val != long_val) || (long_val < 0))) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to unsigned char"); + return (unsigned char)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} + +static INLINE unsigned short __pyx_PyInt_unsigned_short(PyObject* x) { + if (sizeof(unsigned short) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + unsigned short val = (unsigned short)long_val; + if (unlikely((val != long_val) || (long_val < 0))) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to unsigned short"); + return (unsigned short)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} + +static INLINE char __pyx_PyInt_char(PyObject* x) { + if (sizeof(char) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + char val = (char)long_val; + if (unlikely((val != long_val) )) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to char"); + return (char)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} + +static INLINE short __pyx_PyInt_short(PyObject* x) { + if (sizeof(short) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + short val = (short)long_val; + if (unlikely((val != long_val) )) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to short"); + return (short)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} + +static INLINE int __pyx_PyInt_int(PyObject* x) { + if (sizeof(int) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + int val = (int)long_val; + if (unlikely((val != long_val) )) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to int"); + return (int)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} + +static INLINE long __pyx_PyInt_long(PyObject* x) { + if (sizeof(long) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + long val = (long)long_val; + if (unlikely((val != long_val) )) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to long"); + return (long)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} + +static INLINE signed char __pyx_PyInt_signed_char(PyObject* x) { + if (sizeof(signed char) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + signed char val = (signed char)long_val; + if (unlikely((val != long_val) )) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to signed char"); + return (signed char)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} + +static INLINE signed short __pyx_PyInt_signed_short(PyObject* x) { + if (sizeof(signed short) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + signed short val = (signed short)long_val; + if (unlikely((val != long_val) )) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to signed short"); + return (signed short)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} + +static INLINE signed int __pyx_PyInt_signed_int(PyObject* x) { + if (sizeof(signed int) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + signed int val = (signed int)long_val; + if (unlikely((val != long_val) )) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to signed int"); + return (signed int)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} + +static INLINE signed long __pyx_PyInt_signed_long(PyObject* x) { + if (sizeof(signed long) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + signed long val = (signed long)long_val; + if (unlikely((val != long_val) )) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to signed long"); + return (signed long)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} + +static INLINE long double __pyx_PyInt_long_double(PyObject* x) { + if (sizeof(long double) < sizeof(long)) { + long long_val = __pyx_PyInt_AsLong(x); + long double val = (long double)long_val; + if (unlikely((val != long_val) )) { + PyErr_SetString(PyExc_OverflowError, "value too large to convert to long double"); + return (long double)-1; + } + return val; + } + else { + return __pyx_PyInt_AsLong(x); + } +} +