Add get/set proxyinfo methods to Account class
[python-purple] / nullclient.py
1 import purple
2 import ecore
3 import getpass
4 import sys
5
6 class NullClient:
7     def __init__(self):
8         self.p = purple.Purple()
9         self.account = None
10
11     def execute(self):
12         self.p.purple_init()
13
14     def set_protocol(self, protocol):
15         for i in self.p.get_protocols():
16             if i[1] == protocol:
17                 print "-- NULLCLIENT --: Choosing %s as protocol" % protocol
18                 self.protocol = i[0]
19                 print "-- NULLCLIENT --: Protocol successfully chosen: %s" % i[0]
20                 return
21
22     def new_account(self, username, protocol, password):
23         self.account = purple.Account(username, protocol)
24         self.account.set_password(password)
25         self.account.set_enabled("carman-purple-python", True)
26
27     def get_buddies(self):
28         buddies = self.account.get_buddies_online()
29         print buddies
30
31 def getuser():
32     sys.stdout.write("GTalk account: ")
33     username = sys.stdin.readline()
34     return username[:-1]
35
36 def getpassword():
37     return getpass.getpass()
38
39 if __name__ == '__main__':
40
41     client = NullClient()
42     client.execute()
43     client.set_protocol("XMPP")
44     username = getuser()
45     password = getpassword()
46     client.new_account(username, client.protocol, password)
47
48     client.p.connect()
49     ecore.timer_add(20, client.get_buddies)
50     ecore.main_loop_begin()