X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=account.pyx;h=69872cb7414f0d6577104857278ad53e5a7339c4;hp=4a3fced68a2ffd335c8cdbf000495dd76ff305c4;hb=0f988a54df0f8ddce03f4b587ed296f30edf2e9b;hpb=dbb6e1a206514e79c23089ffe48ec1d1ade3642b diff --git a/account.pyx b/account.pyx index 4a3fced..69872cb 100644 --- a/account.pyx +++ b/account.pyx @@ -305,3 +305,68 @@ cdef class Account: iter = iter.next return buddies + def new(self, username, protocol_id): + cdef account.PurpleAccount *c_account + c_account = account.c_purple_account_new(username, protocol_id) + + if c_account == NULL: + return None + + return (username, protocol_id) + + def get_all(self): + cdef glib.GList *iter + cdef account.PurpleAccount *acc + + accounts = [] + + iter = account.c_purple_accounts_get_all() + while iter: + acc = iter.data + if acc: + username = account.c_purple_account_get_username(acc) + protocol_id = account.c_purple_account_get_protocol_id(acc) + + accounts.append((username, protocol_id)) + iter = iter.next + + return accounts + + def get_password(self, acc): + ''' @param acc Tuple (username, protocol id) ''' + cdef account.PurpleAccount *c_account + + c_account = account.c_purple_accounts_find(acc[0], acc[1]) + if c_account: + return account.c_purple_account_get_password(c_account) + else: + return None + + def set_password(self, acc, password): + ''' @param acc Tuple (username, protocol id) ''' + ''' @param password The account's password ''' + cdef account.PurpleAccount *c_account + + c_account = account.c_purple_accounts_find(acc[0], acc[1]) + if c_account: + account.c_purple_account_set_password(c_account, password) + + def get_alias(self, acc): + ''' @param acc Tuple (username, protocol id) ''' + cdef account.PurpleAccount *c_account + + c_account = account.c_purple_accounts_find(acc[0], acc[1]) + if c_account: + return account.c_purple_account_get_alias(c_account) + else: + return None + + def set_alias(self, acc, alias): + ''' @param acc Tuple (username, protocol id) ''' + ''' @param alias The account's alias ''' + cdef account.PurpleAccount *c_account + + c_account = account.c_purple_accounts_find(acc[0], acc[1]) + if c_account: + account.c_purple_account_set_alias(c_account, alias) +