X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=proxy.pyx;h=13a1bdd0ff287c63095647495f1dee281756808f;hp=2948e159b81955cd8ba34be262cfadc65061a4c8;hb=7752e0f4a14a32ede02b8b86c83d9510338a59ed;hpb=b9ad0ad08cdd1ddd60d74570d222aa9c47e439d4 diff --git a/proxy.pyx b/proxy.pyx index 2948e15..13a1bdd 100644 --- a/proxy.pyx +++ b/proxy.pyx @@ -95,35 +95,41 @@ cdef class ProxyInfo: def set_info(self, acc, info): ''' @param acc Tuple (username, protocol id) ''' ''' @param info Dictionary {'type': "HTTP", 'port': "1234", ''' - ''' 'username': "foo", 'passworld': "foo123"} ''' + ''' 'host': "1.2.3.4", 'username': "foo", 'passworld': "foo123"} ''' cdef account.PurpleAccount *c_account cdef proxy.PurpleProxyInfo *c_proxyinfo - c_account = account.c_purple_accounts_find(acc[0], acc[1]) + 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 - c_proxyinfo = account.c_purple_account_get_proxy_info(c_account) + 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) - if info.has_key('type'): + if 'type' in info and info['type']: type = info['type'] - if not type in self.types.keys(): - #FIXME: Message error or call a callback handle to error - return False + if not type in self.types: + type = 'HTTP' proxy.c_purple_proxy_info_set_type(c_proxyinfo, self.types[type]) - if info.has_key('port'): + if 'host' in info and info['host']: + host = info['host'] + proxy.c_purple_proxy_info_set_host(c_proxyinfo, host) + + if 'port' in info and info['port']: port = int(info['port']) proxy.c_purple_proxy_info_set_port(c_proxyinfo, port) - if info.has_key('username'): + if 'username' in info and info['username']: username = info['username'] proxy.c_purple_proxy_info_set_username(c_proxyinfo, username) - if info.has_key('password'): + if 'password' in info and info['password']: password = info['password'] proxy.c_purple_proxy_info_set_password(c_proxyinfo, password) - + return True