projects
/
python-purple
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Updated remove_account
[python-purple]
/
conversation.pyx
diff --git
a/conversation.pyx
b/conversation.pyx
index
588f29a
..
04da1b4
100644
(file)
--- a/
conversation.pyx
+++ b/
conversation.pyx
@@
-22,13
+22,14
@@
cimport purple
cdef class Conversation:
""" Conversation class """
cdef conversation.PurpleConversation *__conv
cdef class Conversation:
""" Conversation class """
cdef conversation.PurpleConversation *__conv
- cdef Account __acc
+ cdef object __acc
cdef object __name
def __init__(self):
cdef object __name
def __init__(self):
- conversation.c_purple_conversations_init()
+ conversation.purple_conversations_init()
self.__name = None
self.__name = None
+ self.__acc = None
def __get_account(self):
return self.__acc
def __get_account(self):
return self.__acc
@@
-43,29
+44,34
@@
cdef class Conversation:
name = property(__get_name, __set_name)
def initialize(self, acc, type, char *name):
name = property(__get_name, __set_name)
def initialize(self, acc, type, char *name):
+ cdef account.PurpleAccount *c_account
self.__acc = acc
self.__name = name
self.__acc = acc
self.__name = name
+ c_account = account.purple_accounts_find(<char *> acc[0], <char *> acc[1])
+ if not c_account:
+ return
+
if type == "UNKNOWN":
self.__conv =\
if type == "UNKNOWN":
self.__conv =\
- conversation.c_purple_conversation_new(conversation.PURPLE_CONV_TYPE_UNKNOWN,\
- <account.PurpleAccount*>self.__acc.c_account, self.__name)
+ conversation.purple_conversation_new(conversation.PURPLE_CONV_TYPE_UNKNOWN,\
+ c_account, self.__name)
elif type == "IM":
self.__conv =\
elif type == "IM":
self.__conv =\
- conversation.c_purple_conversation_new(conversation.PURPLE_CONV_TYPE_IM,\
- <account.PurpleAccount*>self.__acc.c_account, self.__name)
+ conversation.purple_conversation_new(conversation.PURPLE_CONV_TYPE_IM,\
+ <account.PurpleAccount*> c_account, self.__name)
elif type == "CHAT":
self.__conv =\
elif type == "CHAT":
self.__conv =\
- conversation.c_purple_conversation_new(conversation.PURPLE_CONV_TYPE_CHAT,\
- <account.PurpleAccount*>self.__acc.c_account, self.__name)
+ conversation.purple_conversation_new(conversation.PURPLE_CONV_TYPE_CHAT,\
+ c_account, self.__name)
elif type == "MISC":
self.__conv =\
elif type == "MISC":
self.__conv =\
- conversation.c_purple_conversation_new(conversation.PURPLE_CONV_TYPE_MISC,\
- <account.PurpleAccount*>self.__acc.c_account, self.__name)
+ conversation.purple_conversation_new(conversation.PURPLE_CONV_TYPE_MISC,\
+ c_account, self.__name)
elif type == "ANY":
self.__conv =\
elif type == "ANY":
self.__conv =\
- conversation.c_purple_conversation_new(conversation.PURPLE_CONV_TYPE_ANY,\
- <account.PurpleAccount*>self.__acc.c_account, self.__name)
+ conversation.purple_conversation_new(conversation.PURPLE_CONV_TYPE_ANY,\
+ c_account, self.__name)
def conversation_set_ui_ops(self):
cdef conversation.PurpleConversationUiOps c_conv_ui_ops
def conversation_set_ui_ops(self):
cdef conversation.PurpleConversationUiOps c_conv_ui_ops
@@
-85,14
+91,16
@@
cdef class Conversation:
c_conv_ui_ops.custom_smiley_close = NULL
c_conv_ui_ops.send_confirm = NULL
c_conv_ui_ops.custom_smiley_close = NULL
c_conv_ui_ops.send_confirm = NULL
- conversation.c_purple_conversation_set_ui_ops(self.__conv, &c_conv_ui_ops)
+ conversation.purple_conversation_set_ui_ops(self.__conv, &c_conv_ui_ops)
def write(self, char *message):
def write(self, char *message):
- conversation.c_purple_conv_im_send(conversation.c_purple_conversation_get_im_data(self.__conv), message)
+ if self.__conv:
+ conversation.purple_conv_im_send(conversation.purple_conversation_get_im_data(self.__conv), message)
def get_handle(self):
def get_handle(self):
- conversation.c_purple_conversations_get_handle()
+ conversation.purple_conversations_get_handle()
def destroy(self):
print "[DEBUG]: Destroy conversation: %s" % self.__name
def destroy(self):
print "[DEBUG]: Destroy conversation: %s" % self.__name
- conversation.c_purple_conversation_destroy(self.__conv)
+ if self.__conv:
+ conversation.purple_conversation_destroy(self.__conv)