From: Ragner Magalhaes Date: Tue, 2 Dec 2008 21:08:17 +0000 (+0000) Subject: Added various account parameters. X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=commitdiff_plain;h=ffbfc7db585641edc16beb23a6dcd17041df870e;ds=sidebyside Added various account parameters. FIXES: - Added get/set methods for username, protocol_id, alias, password, remember_password, user_info and others. Signed-off-by: Bruno Abinader Acked-by: Dinorah Monteiro Acked-by: Ragner Magalhaes git-svn-id: https://garage.maemo.org/svn/carman/branches/carman-0.7-beta2/python-purple@1410 596f6dd7-e928-0410-a184-9e12fd12cf7e --- diff --git a/account.pyx b/account.pyx index a1a657f..bd2eb44 100644 --- a/account.pyx +++ b/account.pyx @@ -30,32 +30,140 @@ cdef class Account: def __init__(self, username, protocol_id): self.__username = username - self.__protocol_id = Protocol(self, protocol_id) + self.__protocol = Protocol(self, protocol_id) - if self.__get_structure() == NULL: + if self._get_structure() == NULL: self.__exists = False else: self.__exists = True + cdef account.PurpleAccount *_get_structure(self): + return account.purple_accounts_find(self.username, \ + self.protocol_id) + + def __get_exists(self): + return self.__exists + exists = property(__get_exists) + def __get_username(self): - return self.__username + cdef char *username = NULL + if self.__exists: + username = account.purple_account_get_username( \ + self._get_structure()) + if username: + return username + else: + return None + else: + return self.__username username = property(__get_username) def __get_protocol_id(self): - return self.__protocol_id.protocol_id + cdef char *protocol_id = NULL + if self.__exists: + protocol_id = account.purple_account_get_protocol_id( \ + self._get_structure()) + if protocol_id: + return protocol_id + else: + return None + else: + return self.protocol_id protocol_id = property(__get_protocol_id) - def __get_exists(self): - return self.__exists - exists = property(__get_exists) + def __get_password(self): + cdef char *password = NULL + if self.__exists: + password = account.purple_account_get_password( \ + self._get_structure()) + if password: + return password + else: + return None + else: + return None + def __set_password(self, password): + if self.__exists: + account.purple_account_set_password(self._get_structure(), \ + password) + return True + else: + return False + password = property(__get_password, __set_password) - cdef purple.account.PurpleAccount *__get_structure(self): - return purple.account.purple_accounts_find(self.username, self.protocol_id) + def __get_alias(self): + cdef char *alias = NULL + if self.__exists: + alias = account.purple_account_get_alias(self._get_structure()) + if alias: + return alias + else: + return None + else: + return None + def __set_alias(self, alias): + if self.__exists: + account.purple_account_set_alias(self._get_structure(), \ + alias) + return True + else: + return False + alias = property(__get_alias, __set_alias) - def new(self): + 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: + return user_info + else: + return None + else: + return None + def __set_user_info(self, user_info): + if self.__exists: + account.purple_account_set_user_info(self._get_structure(), \ + user_info) + return True + else: + return False + user_info = property(__get_user_info, __set_user_info) + + def __get_remember_password(self): + if self.__exists: + return account.purple_account_get_remember_password( \ + self._get_structure()) + else: + return None + def __set_remember_password(self, remember_password): + if self.__exists: + account.purple_account_set_remember_password( \ + self._get_structure(), remember_password) + return True + else: + return False + remember_password = property(__get_remember_password, \ + __set_remember_password) + + def set_username(self, username): + if self.__exists: + account.purple_account_set_username(self._get_structure(), \ + username) + return True + else: + return False + + def set_protocol_id(self, protocol_id): + if self.__exists: + self.__protocol._set_protocol_id(protocol_id) + return True + else: return False - purple.account.purple_account_new(self.username, self.protocol_id) - self.__exists = True - return True + def new(self): + if self.__exists: + return False + else: + account.purple_account_new(self.username, self.protocol_id) + self.__exists = True + return True diff --git a/protocol.pyx b/protocol.pyx index 2e36aa4..e8d8999 100644 --- a/protocol.pyx +++ b/protocol.pyx @@ -17,15 +17,26 @@ # along with this program. If not, see . # +cimport purple + cdef class Protocol: """ Protocol class @param protocol_id """ - def __init__(self, protocol_id): + def __init__(self, account, protocol_id): + self.__account = account self.__protocol_id = protocol_id def __get_protocol_id(self): return self.__protocol_id.protocol_id protocol_id = property(__get_protocol_id) + + def __get_account(self): + return self.__account + account = property(__get_account) + + def _set_protocol_id(self, protocol_id): + account.purple_account_set_protocol_id( \ + self.__account._get_structure(), protocol_id)