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":