Mercurial > pidgin
comparison src/gaim-remote.py @ 11241:66f872f30e40
[gaim-migrate @ 13404]
New shared library libgaim-client, which provides C bindings to
communicate with gaim.
committer: Tailor Script <tailor@pidgin.im>
author | Piotr Zielinski <zielaj> |
---|---|
date | Fri, 12 Aug 2005 16:56:45 +0000 |
parents | 744c0708d11f |
children | 64fadbf3810f |
comparison
equal
deleted
inserted
replaced
11240:2ab2de8add8b | 11241:66f872f30e40 |
---|---|
44 try: | 44 try: |
45 return int(value) | 45 return int(value) |
46 except: | 46 except: |
47 return value | 47 return value |
48 | 48 |
49 def findaccount(accountname, protocolname): | |
50 try: | |
51 # prefer connected accounts | |
52 account = cgaim.GaimAccountsFindConnected(accountname, protocolname) | |
53 return account | |
54 except: | |
55 # try to get any account and connect it | |
56 account = cgaim.GaimAccountsFindAny(accountname, protocolname) | |
57 print gaim.GaimAccountGetUsername(account) | |
58 gaim.GaimAccountSetStatusVargs(account, "online", 1) | |
59 gaim.GaimAccountConnect(account) | |
60 return account | |
61 | |
62 | |
49 def execute(uri): | 63 def execute(uri): |
50 match = re.match(urlregexp, uri) | 64 match = re.match(urlregexp, uri) |
51 protocol = match.group(2) | 65 protocol = match.group(2) |
52 if protocol is not None: | 66 if protocol is not None: |
53 protocol = "prpl-" + protocol | 67 protocol = "prpl-" + protocol |
60 params[key] = urllib.unquote(value) | 74 params[key] = urllib.unquote(value) |
61 | 75 |
62 accountname = params.get("account", "") | 76 accountname = params.get("account", "") |
63 | 77 |
64 if command == "goim": | 78 if command == "goim": |
65 account = cgaim.GaimAccountsFindConnected(accountname, protocol) | 79 print params |
80 account = findaccount(accountname, protocol) | |
66 conversation = cgaim.GaimConversationNew(1, account, params["screenname"]) | 81 conversation = cgaim.GaimConversationNew(1, account, params["screenname"]) |
67 if "message" in params: | 82 if "message" in params: |
68 im = cgaim.GaimConversationGetImData(conversation) | 83 im = cgaim.GaimConversationGetImData(conversation) |
69 gaim.GaimConvImSend(im, params["message"]) | 84 gaim.GaimConvImSend(im, params["message"]) |
70 return None | 85 return None |
71 | 86 |
72 elif command == "gochat": | 87 elif command == "gochat": |
73 account = cgaim.GaimAccountsFindConnected(accountname, protocol) | 88 account = findaccount(accountname, protocol) |
74 connection = cgaim.GaimAccountGetConnection(account) | 89 connection = cgaim.GaimAccountGetConnection(account) |
75 return gaim.ServJoinChat(connection, params) | 90 return gaim.ServJoinChat(connection, params) |
76 | 91 |
77 elif command == "addbuddy": | 92 elif command == "addbuddy": |
78 account = cgaim.GaimAccountsFindConnected(accountname, protocol) | 93 account = findaccount(accountname, protocol) |
79 return cgaim.GaimBlistRequestAddBuddy(account, params["screenname"], | 94 return cgaim.GaimBlistRequestAddBuddy(account, params["screenname"], |
80 params.get("group", ""), "") | 95 params.get("group", ""), "") |
81 | 96 |
82 elif command == "setstatus": | 97 elif command == "setstatus": |
83 if "account" in params: | 98 if "account" in params: |
84 accounts = [cgaim.GaimAccountsFindConnected(accountname, protocol)] | 99 accounts = [cgaim.GaimAccountsFindAny(accountname, protocol)] |
85 else: | 100 else: |
86 accounts = gaim.GaimAccountsGetAllActive() | 101 accounts = gaim.GaimAccountsGetAllActive() |
87 | 102 |
88 for account in accounts: | 103 for account in accounts: |
89 status = gaim.GaimAccountGetStatus(account, params["status"]) | 104 status = cgaim.GaimAccountGetStatus(account, params["status"]) |
90 for key, value in params.items(): | 105 for key, value in params.items(): |
91 if key not in ["state", "account"]: | 106 if key not in ["status", "account"]: |
92 gaim.GaimStatusSetAttrString(status, key, value) | 107 gaim.GaimStatusSetAttrString(status, key, value) |
93 gaim.GaimAccountSetStatusVargs(account, params["status"], 1) | 108 gaim.GaimAccountSetStatusVargs(account, params["status"], 1) |
94 return None | 109 return None |
110 | |
111 elif command == "getinfo": | |
112 account = findaccount(accountname, protocol) | |
113 connection = cgaim.GaimAccountGetConnection(account) | |
114 gaim.ServGetInfo(connection, params["screenname"]) | |
95 | 115 |
96 elif command == "quit": | 116 elif command == "quit": |
97 return gaim.GaimCoreQuit() | 117 return gaim.GaimCoreQuit() |
98 | 118 |
99 elif command == "uri": | 119 elif command == "uri": |