X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=buddy.pyx;h=a465b6f011cef238db41389ac3881b89f84c7e11;hp=1c3be6ca70bb5dbb7031280909325e743f4d183b;hb=7470d2d07fe34117a3e8928a00fd967159989f27;hpb=5cf9ef61f1ac6ccb0b3eaea65988873baf0a483a diff --git a/buddy.pyx b/buddy.pyx index 1c3be6c..a465b6f 100644 --- a/buddy.pyx +++ b/buddy.pyx @@ -22,26 +22,38 @@ cimport purple cdef class Buddy: """ Buddy class """ cdef blist.PurpleBuddy *c_buddy - cdef Account __acc + cdef Account _acc def __init__(self): self.c_buddy = NULL - def new_buddy(self, acc, char *scr, char *alias): - self.__acc = acc - self.c_buddy = blist.c_purple_buddy_new(\ - self.__acc.c_account, scr, alias) + def __get_account(self): + return self.__acc + def __set_account(self, acc): + self._acc = acc + account = property(__get_account, __set_account) def __get_alias(self): - return blist.c_purple_buddy_get_alias_only(self.c_buddy) + if self.c_buddy: + return blist.c_purple_buddy_get_alias_only(self.c_buddy) + else: + return None alias = property(__get_alias) def __get_name(self): - return blist.c_purple_buddy_get_name(self.c_buddy) + if self.c_buddy: + return blist.c_purple_buddy_get_name(self.c_buddy) + else: + return None name = property(__get_name) - def __get_online(self): + def __get_online(self): # FIXME name = self.name - self.c_buddy = blist.c_purple_find_buddy(self.__acc.c_account, name) + self.c_buddy = blist.c_purple_find_buddy(self._acc.c_account, name) return status.c_purple_presence_is_online(blist.c_purple_buddy_get_presence(self.c_buddy)) online = property(__get_online) + + def new_buddy(self, acc, char *scr, char *alias): + self.__acc = acc + self.c_buddy = blist.c_purple_buddy_new(\ + self.__acc.c_account, scr, alias)