Wed, 13 May 2009 20:29:03 +0000
Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.
|
22141
adb198961d72
A small patch from shreevatsa: "Some of the Python scripts start with
Richard Laager <rlaager@pidgin.im>
parents:
20195
diff
changeset
|
1 | #!/usr/bin/env python |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
2 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
3 | import dbus |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
4 | import re |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
5 | import urllib |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
6 | import sys |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
7 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
8 | import xml.dom.minidom |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
9 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
10 | xml.dom.minidom.Element.all = xml.dom.minidom.Element.getElementsByTagName |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
11 | |
|
20195
10848da5f7ed
applied changes from c699de7eec5194554b5fcb885019835fb902d95a
Luke Schierer <lschiere@pidgin.im>
parents:
18885
diff
changeset
|
12 | obj = None |
|
10848da5f7ed
applied changes from c699de7eec5194554b5fcb885019835fb902d95a
Luke Schierer <lschiere@pidgin.im>
parents:
18885
diff
changeset
|
13 | try: |
|
10848da5f7ed
applied changes from c699de7eec5194554b5fcb885019835fb902d95a
Luke Schierer <lschiere@pidgin.im>
parents:
18885
diff
changeset
|
14 | obj = dbus.SessionBus().get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject") |
|
10848da5f7ed
applied changes from c699de7eec5194554b5fcb885019835fb902d95a
Luke Schierer <lschiere@pidgin.im>
parents:
18885
diff
changeset
|
15 | except: |
|
10848da5f7ed
applied changes from c699de7eec5194554b5fcb885019835fb902d95a
Luke Schierer <lschiere@pidgin.im>
parents:
18885
diff
changeset
|
16 | pass |
|
10848da5f7ed
applied changes from c699de7eec5194554b5fcb885019835fb902d95a
Luke Schierer <lschiere@pidgin.im>
parents:
18885
diff
changeset
|
17 | |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
18 | purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface") |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
19 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
20 | class CheckedObject: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
21 | def __init__(self, obj): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
22 | self.obj = obj |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
23 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
24 | def __getattr__(self, attr): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
25 | return CheckedAttribute(self, attr) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
26 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
27 | class CheckedAttribute: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
28 | def __init__(self, cobj, attr): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
29 | self.cobj = cobj |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
30 | self.attr = attr |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
31 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
32 | def __call__(self, *args): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
33 | result = self.cobj.obj.__getattr__(self.attr)(*args) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
34 | if result == 0: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
35 | raise "Error: " + self.attr + " " + str(args) + " returned " + str(result) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
36 | return result |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
37 | |
|
23237
7ec42e06496f
Import a patch (with changes) from Debian:
Ari Pollak <ari@debian.org>
parents:
22141
diff
changeset
|
38 | def show_help(requested=False): |
|
17574
dc3189c42c0c
Fix http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=240589
Mark Doliner <markdoliner@pidgin.im>
parents:
17399
diff
changeset
|
39 | print """This program uses D-Bus to communicate with purple. |
|
15716
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
40 | |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
41 | Usage: |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
42 | |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
43 | %s "command1" "command2" ... |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
44 | |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
45 | Each command is of one of the three types: |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
46 | |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
47 | [protocol:]commandname?param1=value1¶m2=value2&... |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
48 | FunctionName?param1=value1¶m2=value2&... |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
49 | FunctionName(value1,value2,...) |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
50 | |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
51 | The second and third form are provided for completeness but their use |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
52 | is not recommended; use purple-send or purple-send-async instead. The |
|
15716
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
53 | second form uses introspection to find out the parameter names and |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
54 | their types, therefore it is rather slow. |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
55 | |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
56 | Examples of commands: |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
57 | |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
58 | jabber:goim?screenname=testone@localhost&message=hi |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
59 | jabber:gochat?room=TestRoom&server=conference.localhost |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
60 | jabber:getinfo?screenname=testone@localhost |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
61 | jabber:addbuddy?screenname=my friend |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
62 | |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
63 | setstatus?status=away&message=don't disturb |
|
25668
7897eda26d25
List getstatus and getstatusmessage in the purple-remote help output.
Paul Aurich <darkrain42@pidgin.im>
parents:
24836
diff
changeset
|
64 | getstatus |
|
7897eda26d25
List getstatus and getstatusmessage in the purple-remote help output.
Paul Aurich <darkrain42@pidgin.im>
parents:
24836
diff
changeset
|
65 | getstatusmessage |
|
15716
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
66 | quit |
|
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
67 | |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
68 | PurpleAccountsFindConnected?name=&protocol=prpl-jabber |
| 18885 | 69 | PurpleAccountsFindConnected(,prpl-jabber) |
|
15716
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
70 | """ % sys.argv[0] |
|
23237
7ec42e06496f
Import a patch (with changes) from Debian:
Ari Pollak <ari@debian.org>
parents:
22141
diff
changeset
|
71 | if (requested): |
|
7ec42e06496f
Import a patch (with changes) from Debian:
Ari Pollak <ari@debian.org>
parents:
22141
diff
changeset
|
72 | sys.exit(0) |
|
7ec42e06496f
Import a patch (with changes) from Debian:
Ari Pollak <ari@debian.org>
parents:
22141
diff
changeset
|
73 | else: |
|
7ec42e06496f
Import a patch (with changes) from Debian:
Ari Pollak <ari@debian.org>
parents:
22141
diff
changeset
|
74 | sys.exit(1) |
|
15716
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
75 | |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
76 | cpurple = CheckedObject(purple) |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
77 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
78 | urlregexp = r"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?" |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
79 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
80 | def extendlist(list, length, fill): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
81 | if len(list) < length: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
82 | return list + [fill] * (length - len(list)) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
83 | else: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
84 | return list |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
85 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
86 | def convert(value): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
87 | try: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
88 | return int(value) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
89 | except: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
90 | return value |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
91 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
92 | def findaccount(accountname, protocolname): |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
93 | try: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
94 | # prefer connected accounts |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
95 | account = cpurple.PurpleAccountsFindConnected(accountname, protocolname) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
96 | return account |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
97 | except: |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
98 | # try to get any account and connect it |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
99 | account = cpurple.PurpleAccountsFindAny(accountname, protocolname) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
100 | purple.PurpleAccountSetStatusVargs(account, "online", 1) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
101 | purple.PurpleAccountConnect(account) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
102 | return account |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
103 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
104 | |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
105 | def execute(uri): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
106 | match = re.match(urlregexp, uri) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
107 | protocol = match.group(2) |
|
17399
4b33b14a5459
A conditional in purple_remote was missing a trailing colon.
Ethan Blanton <elb@pidgin.im>
parents:
17253
diff
changeset
|
108 | if protocol == "xmpp": |
|
17253
278327221b51
Make purple-remote accept xmpp as a protocol
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16205
diff
changeset
|
109 | protocol = "jabber" |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
110 | if protocol is not None: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
111 | protocol = "prpl-" + protocol |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
112 | command = match.group(5) |
|
13774
470a932e79e7
[gaim-migrate @ 16184]
Richard Laager <rlaager@pidgin.im>
parents:
13767
diff
changeset
|
113 | paramstring = match.group(7) |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
114 | params = {} |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
115 | if paramstring is not None: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
116 | for param in paramstring.split("&"): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
117 | key, value = extendlist(param.split("=",1), 2, "") |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
118 | params[key] = urllib.unquote(value) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
119 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
120 | accountname = params.get("account", "") |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
121 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
122 | if command == "goim": |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
123 | account = findaccount(accountname, protocol) |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
124 | conversation = cpurple.PurpleConversationNew(1, account, params["screenname"]) |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
125 | if "message" in params: |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
126 | im = cpurple.PurpleConversationGetImData(conversation) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
127 | purple.PurpleConvImSend(im, params["message"]) |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
128 | return None |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
129 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
130 | elif command == "gochat": |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
131 | account = findaccount(accountname, protocol) |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
132 | connection = cpurple.PurpleAccountGetConnection(account) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
133 | return purple.ServJoinChat(connection, params) |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
134 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
135 | elif command == "addbuddy": |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
136 | account = findaccount(accountname, protocol) |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
137 | return cpurple.PurpleBlistRequestAddBuddy(account, params["screenname"], |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
138 | params.get("group", ""), "") |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
139 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
140 | elif command == "setstatus": |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
141 | current = purple.PurpleSavedstatusGetCurrent() |
|
13763
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
142 | |
|
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
143 | if "status" in params: |
|
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
144 | status_id = params["status"] |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
145 | status_type = purple.PurplePrimitiveGetTypeFromId(status_id) |
|
13763
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
146 | else: |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
147 | status_type = purple.PurpleSavedstatusGetType(current) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
148 | status_id = purple.PurplePrimitiveGetIdFromType(status_type) |
|
13763
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
149 | |
|
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
150 | if "message" in params: |
|
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
151 | message = params["message"]; |
|
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
152 | else: |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
153 | message = purple.PurpleSavedstatusGetMessage(current) |
|
13763
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
154 | |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
155 | if "account" in params: |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
156 | accounts = [cpurple.PurpleAccountsFindAny(accountname, protocol)] |
|
13763
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
157 | |
|
dc4815a8f4aa
[gaim-migrate @ 16173]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13221
diff
changeset
|
158 | for account in accounts: |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
159 | status = purple.PurpleAccountGetStatus(account, status_id) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
160 | type = purple.PurpleStatusGetType(status) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
161 | purple.PurpleSavedstatusSetSubstatus(current, account, type, message) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
162 | purple.PurpleSavedstatusActivateForAccount(current, account) |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
163 | else: |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
164 | accounts = purple.PurpleAccountsGetAllActive() |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
165 | saved = purple.PurpleSavedstatusNew("", status_type) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
166 | purple.PurpleSavedstatusSetMessage(saved, message) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
167 | purple.PurpleSavedstatusActivate(saved) |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
168 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
169 | return None |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
170 | |
|
18097
9304ace34e7b
A patch from Norbert Buchmuller:
Norbert Buchmuller <norbi@nix.hu>
parents:
17399
diff
changeset
|
171 | elif command == "getstatus": |
|
9304ace34e7b
A patch from Norbert Buchmuller:
Norbert Buchmuller <norbi@nix.hu>
parents:
17399
diff
changeset
|
172 | current = purple.PurpleSavedstatusGetCurrent() |
|
9304ace34e7b
A patch from Norbert Buchmuller:
Norbert Buchmuller <norbi@nix.hu>
parents:
17399
diff
changeset
|
173 | status_type = purple.PurpleSavedstatusGetType(current) |
|
9304ace34e7b
A patch from Norbert Buchmuller:
Norbert Buchmuller <norbi@nix.hu>
parents:
17399
diff
changeset
|
174 | status_id = purple.PurplePrimitiveGetIdFromType(status_type) |
|
9304ace34e7b
A patch from Norbert Buchmuller:
Norbert Buchmuller <norbi@nix.hu>
parents:
17399
diff
changeset
|
175 | return status_id |
|
9304ace34e7b
A patch from Norbert Buchmuller:
Norbert Buchmuller <norbi@nix.hu>
parents:
17399
diff
changeset
|
176 | |
|
24836
fa1d0f63ea45
Patch from 'jfd' (whose trac user account no longer exists) to implement
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
23256
diff
changeset
|
177 | elif command == "getstatusmessage": |
|
fa1d0f63ea45
Patch from 'jfd' (whose trac user account no longer exists) to implement
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
23256
diff
changeset
|
178 | current = purple.PurpleSavedstatusGetCurrent() |
|
fa1d0f63ea45
Patch from 'jfd' (whose trac user account no longer exists) to implement
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
23256
diff
changeset
|
179 | return purple.PurpleSavedstatusGetMessage(current) |
|
fa1d0f63ea45
Patch from 'jfd' (whose trac user account no longer exists) to implement
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
23256
diff
changeset
|
180 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
181 | elif command == "getinfo": |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
182 | account = findaccount(accountname, protocol) |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
183 | connection = cpurple.PurpleAccountGetConnection(account) |
|
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
184 | return purple.ServGetInfo(connection, params["screenname"]) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
185 | |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
186 | elif command == "quit": |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
187 | return purple.PurpleCoreQuit() |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
188 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
189 | elif command == "uri": |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
190 | return None |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
191 | |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
192 | else: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
193 | match = re.match(r"(\w+)\s*\(([^)]*)\)", command) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
194 | if match is not None: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
195 | name = match.group(1) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
196 | argstr = match.group(2) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
197 | if argstr == "": |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
198 | args = [] |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
199 | else: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
200 | args = argstr.split(",") |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
201 | fargs = [] |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
202 | for arg in args: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
203 | fargs.append(convert(arg.strip())) |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
204 | return purple.__getattr__(name)(*fargs) |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
205 | else: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
206 | # introspect the object to get parameter names and types |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
207 | # this is slow because the entire introspection info must be downloaded |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
208 | data = dbus.Interface(obj, "org.freedesktop.DBus.Introspectable").\ |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
209 | Introspect() |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
210 | introspect = xml.dom.minidom.parseString(data).documentElement |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
211 | for method in introspect.all("method"): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
212 | if command == method.getAttribute("name"): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
213 | methodparams = [] |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
214 | for arg in method.all("arg"): |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
215 | if arg.getAttribute("direction") == "in": |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
216 | value = params[arg.getAttribute("name")] |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
217 | type = arg.getAttribute("type") |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
218 | if type == "s": |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
219 | methodparams.append(value) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
220 | elif type == "i": |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
221 | methodparams.append(int(value)) |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
222 | else: |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
223 | raise "Don't know how to handle type \"%s\"" % type |
|
16205
397be242f4a4
Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents:
15987
diff
changeset
|
224 | return purple.__getattr__(command)(*methodparams) |
|
15716
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
225 | show_help() |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
226 | |
|
23256
35a4e2bbfa46
disapproval of revision '04ec200520788c834a933129aba557e5ce761a08'
Richard Laager <rlaager@pidgin.im>
parents:
23255
diff
changeset
|
227 | if len(sys.argv) == 1: |
|
15716
128dcef5e4b3
Fix bug #1662186: "gaim-remote --help doesn't work" by showing the help for any invalid command.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15435
diff
changeset
|
228 | show_help() |
|
23237
7ec42e06496f
Import a patch (with changes) from Debian:
Ari Pollak <ari@debian.org>
parents:
22141
diff
changeset
|
229 | elif (sys.argv[1] == "--help" or sys.argv[1] == "-h"): |
|
7ec42e06496f
Import a patch (with changes) from Debian:
Ari Pollak <ari@debian.org>
parents:
22141
diff
changeset
|
230 | show_help(True) |
|
20195
10848da5f7ed
applied changes from c699de7eec5194554b5fcb885019835fb902d95a
Luke Schierer <lschiere@pidgin.im>
parents:
18885
diff
changeset
|
231 | elif (obj == None): |
|
10848da5f7ed
applied changes from c699de7eec5194554b5fcb885019835fb902d95a
Luke Schierer <lschiere@pidgin.im>
parents:
18885
diff
changeset
|
232 | print "No existing libpurple instance detected." |
|
10848da5f7ed
applied changes from c699de7eec5194554b5fcb885019835fb902d95a
Luke Schierer <lschiere@pidgin.im>
parents:
18885
diff
changeset
|
233 | sys.exit(1); |
|
10848da5f7ed
applied changes from c699de7eec5194554b5fcb885019835fb902d95a
Luke Schierer <lschiere@pidgin.im>
parents:
18885
diff
changeset
|
234 | |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
235 | for arg in sys.argv[1:]: |
|
13774
470a932e79e7
[gaim-migrate @ 16184]
Richard Laager <rlaager@pidgin.im>
parents:
13767
diff
changeset
|
236 | output = execute(arg) |
|
470a932e79e7
[gaim-migrate @ 16184]
Richard Laager <rlaager@pidgin.im>
parents:
13767
diff
changeset
|
237 | |
|
470a932e79e7
[gaim-migrate @ 16184]
Richard Laager <rlaager@pidgin.im>
parents:
13767
diff
changeset
|
238 | if (output != None): |
|
470a932e79e7
[gaim-migrate @ 16184]
Richard Laager <rlaager@pidgin.im>
parents:
13767
diff
changeset
|
239 | print output |
|
470a932e79e7
[gaim-migrate @ 16184]
Richard Laager <rlaager@pidgin.im>
parents:
13767
diff
changeset
|
240 |