annotate commands.py @ 178:891195c47350

catch all exceptions in commands.py Signed-off-by: Charly COSTE <changaco@changaco.net>
author Charly COSTE <changaco@changaco.net>
date Mon, 08 Feb 2010 18:55:36 +0100
parents 6c4aaf8f3733
children 102f895347ff
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
1 #!/usr/bin/env python
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
3
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
4 # This program is free software: you can redistribute it and/or modify
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
5 # it under the terms of the GNU General Public License as published by
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
6 # the Free Software Foundation, either version 3 of the License, or
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
7 # (at your option) any later version.
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
8 #
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
9 # This program is distributed in the hope that it will be useful,
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
12 # GNU General Public License for more details.
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
13 #
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
14 # You should have received a copy of the GNU General Public License
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
16
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
17
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
18 import shlex
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
19
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
20 from argparse_modified import ArgumentParser
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
21 import muc
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
22 xmpp = muc.xmpp
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
23 del muc
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
24
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
25 from bridge import Bridge
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
26
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
27
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
28 commands = ['xmpp-participants', 'irc-participants', 'xmpp-connections', 'irc-connections', 'connections', 'bridges']
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
29 admin_commands = ['add-bridge', 'add-xmpp-admin', 'change-bridges-mode', 'debug', 'halt', 'remove-bridges', 'restart-bot', 'restart-bridges', 'stop-bot', 'stop-bridges']
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
30
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
31 def execute(bot, command_line, bot_admin, bridge):
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
32 command = shlex.split(command_line)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
33 if len(command) > 1:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
34 args_array = command[1:]
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
35 else:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
36 args_array = []
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
37 command = command[0]
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
38 command_func = command.replace('-', '_')
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
39
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
40 if not globals().has_key(command_func):
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
41 ret = 'Error: "'+command+'" is not a valid command.\ncommands: '+' '.join(commands)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
42 if bot_admin:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
43 return ret+'\n'+'admin commands: '+' '.join(admin_commands)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
44 else:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
45 return ret
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
46 elif command in admin_commands and not bot_admin:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
47 return 'You have to be a bot admin to use this command.'
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
48
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
49 return globals()[command_func](bot, command, args_array, bridge)
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
50
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
51
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
52 def _find_bridges(bot, args_array):
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
53 ret = ''
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
54 b = []
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
55 for arg in args_array:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
56 try:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
57 bn = int(arg)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
58 if bn < 1:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
59 raise IndexError
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
60 b.append(bot.bridges[bn-1])
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
61 except IndexError:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
62 ret += '\nInvalid bridge number "'+str(bn)+'".'
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
63 except ValueError:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
64 found_bridges = bot.findBridges(arg)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
65 if len(found_bridges) == 0:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
66 ret += '\nNo bridge found matching "'+arg+'".'
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
67 else:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
68 b.extend(found_bridges)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
69
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
70 if ret != '' or len(b) == 0:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
71 if ret != '':
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
72 ret += '\n\n'
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
73 ret += bridges(bot, 'bridges', [], None)+'\n\n'
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
74
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
75 return (b, ret)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
76
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
77
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
78 def add_bridge(bot, command, args_array, bridge):
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
79 parser = ArgumentParser(prog=command)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
80 parser.add_argument('xmpp_room_jid', type=str)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
81 parser.add_argument('irc_chan', type=str)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
82 parser.add_argument('irc_server', type=str)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
83 parser.add_argument('--mode', choices=Bridge._modes, default='normal')
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
84 parser.add_argument('--say-level', choices=Bridge._say_levels, default='all')
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
85 parser.add_argument('--irc-port', type=int, default=6667)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
86 try:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
87 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
88 except Exception as e:
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
89 return '\n'+e.args[1]
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
90
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
91 bot.new_bridge(args.xmpp_room_jid, args.irc_chan, args.irc_server, args.mode, args.say_level, irc_port=args.irc_port)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
92
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
93 return 'Bridge added.'
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
94
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
95
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
96 def add_xmpp_admin(bot, command, args_array, bridge):
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
97 parser = ArgumentParser(prog=command)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
98 parser.add_argument('jid', type=str)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
99 try:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
100 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
101 except Exception as e:
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
102 return '\n'+e.args[1]
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
103 bot.admins_jid.append(args.jid)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
104 for b in bot.bridges:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
105 for p in b.participants:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
106 if p.real_jid != None and xmpp.protocol.JID(args.jid).bareMatch(p.real_jid):
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
107 p.bot_admin = True
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
108
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
109 return 'XMPP admin added.'
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
110
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
111
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
112 def bridges(bot, command, args_array, bridge):
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
113 parser = ArgumentParser(prog=command)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
114 parser.add_argument('--show-mode', default=False, action='store_true')
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
115 parser.add_argument('--show-say-level', default=False, action='store_true')
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
116 parser.add_argument('--show-participants', default=False, action='store_true')
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
117 try:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
118 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
119 except Exception as e:
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
120 return '\n'+e.args[1]
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
121 ret = 'List of bridges:'
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
122 for i, b in enumerate(bot.bridges):
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
123 ret += '\n'+str(i+1)+' - '+str(b)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
124 if args.show_mode:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
125 ret += ' - mode='+b.mode
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
126 if args.show_say_level:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
127 ret += ' - say_level='+Bridge._say_levels[b.say_level]
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
128 if args.show_participants:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
129 xmpp_participants_nicknames = b.get_participants_nicknames_list(protocols=['xmpp'])
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
130 ret += '\nparticipants on XMPP ('+str(len(xmpp_participants_nicknames))+'): '+' '.join(xmpp_participants_nicknames)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
131 irc_participants_nicknames = b.get_participants_nicknames_list(protocols=['irc'])
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
132 ret += '\nparticipants on IRC ('+str(len(irc_participants_nicknames))+'): '+' '.join(irc_participants_nicknames)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
133 if b.irc_connection == None:
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
134 ret += ' - this bridge is stopped, use "restart-bridges '+str(i+1)+'" to restart it'
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
135 return ret
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
136
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
137
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
138 def change_bridges_mode(bot, command, args_array, bridge):
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
139 parser = ArgumentParser(prog=command)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
140 parser.add_argument('bridge_id', nargs='+')
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
141 parser.add_argument('new_mode', choices=Bridge._modes)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
142 try:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
143 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
144 except Exception as e:
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
145 return '\n'+e.args[1]
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
146
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
147 found_bridges, ret = _find_bridges(bot, args.bridge_id)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
148 for found_bridge in found_bridges:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
149 r = found_bridge.changeMode(args.new_mode)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
150 if r:
168
d3b619cd60fb minor fix of the output of the change-bridges-mode command
Charly COSTE <changaco@changaco.net>
parents: 160
diff changeset
151 ret += r+'\n'
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
152
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
153 if ret:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
154 return ret
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
155 return 'Modes changed.'
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
156
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
157
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
158 def connections(bot, command, args_array, bridge):
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
159 parser = ArgumentParser(prog=command)
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
160 parser.add_argument('--verbose', '-v', default=False, action='store_true')
173
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
161 parser.add_argument('--sort', '-s', default=False, action='store_true')
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
162 try:
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
163 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
164 except Exception as e:
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
165 return '\n'+e.args[1]
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
166 return irc_connections(bot, 'irc-connections', args_array, bridge)+'\n'+xmpp_connections(bot, 'xmpp-connections', args_array, bridge)
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
167
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
168
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
169 def debug(bot, command, args_array, bridge):
153
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
170 parser = ArgumentParser(prog=command)
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
171 parser.add_argument('mode', choices=['on', 'off'])
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
172 try:
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
173 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
174 except Exception as e:
153
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
175 if len(args_array) == 0:
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
176 if bot.debug:
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
177 return 'Debugging is on'
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
178 else:
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
179 return 'Debugging is off'
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
180 else:
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
181 return '\n'+e.args[1]
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
182
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
183 if args.mode == 'on':
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
184 bot.debug = True
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
185 return 'Debugging is now on'
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
186 else:
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
187 bot.debug = False
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
188 return 'Debugging is now off'
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
189
0a8f96a1d200 added a "debug" command to be able to change the value of Bot.debug without restarting the bot
Charly COSTE <changaco@changaco.net>
parents: 143
diff changeset
190
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
191 def halt(bot, command, args_array, bridge):
155
63db565438bd fixed the halt command
Charly COSTE <changaco@changaco.net>
parents: 153
diff changeset
192 bot.__del__()
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
193 return
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
194
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
195
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
196 def irc_connections(bot, command, args_array, bridge):
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
197 parser = ArgumentParser(prog=command)
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
198 parser.add_argument('--verbose', '-v', default=False, action='store_true')
173
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
199 parser.add_argument('--sort', '-s', default=False, action='store_true')
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
200 try:
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
201 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
202 except Exception as e:
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
203 return '\n'+e.args[1]
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
204 n = len(bot.irc.connections)
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
205 if args.verbose:
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
206 ret = 'List of IRC connections ('+str(n)+'):'
173
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
207 if args.sort:
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
208 connections = [str(c) for c in bot.irc.connections]
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
209 connections.sort()
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
210 else:
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
211 connections = bot.irc.connections
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
212 for c in connections:
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
213 ret += '\n\t'+str(c)
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
214 else:
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
215 ret = 'Number of IRC connections: '+str(n)
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
216 return ret
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
217
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
218
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
219 def irc_participants(bot, command, args_array, bridge):
142
8c6184411ec7 minor fix in commands (unbound variable)
Charly COSTE <changaco@changaco.net>
parents: 134
diff changeset
220 ret = ''
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
221 if not bridge:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
222 for b in bot.bridges:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
223 irc_participants_nicknames = b.get_participants_nicknames_list(protocols=['irc'])
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
224 ret += '\nparticipants on '+b.irc_room+' at '+b.irc_server+' ('+str(len(irc_participants_nicknames))+'): '+' '.join(irc_participants_nicknames)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
225 return ret
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
226 else:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
227 irc_participants_nicknames = bridge.get_participants_nicknames_list(protocols=['irc'])
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
228 return '\nparticipants on '+bridge.irc_room+' at '+bridge.irc_server+' ('+str(len(irc_participants_nicknames))+'): '+' '.join(irc_participants_nicknames)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
229
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
230
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
231 def remove_bridges(bot, command, args_array, bridge):
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
232 parser = ArgumentParser(prog=command)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
233 parser.add_argument('bridge_id', nargs='+')
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
234 try:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
235 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
236 except Exception as e:
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
237 return '\n'+e.args[1]
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
238
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
239 found_bridges, ret = _find_bridges(bot, args.bridge_id)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
240
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
241 for found_bridge in found_bridges:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
242 bot.removeBridge(found_bridge)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
243
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
244 return ret+'Bridges removed.'
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
245
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
246
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
247 def restart_bot(bot, command, args_array, bridge):
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
248 bot.restart()
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
249 return
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
250
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
251 def restart_bridges(bot, command, args_array, bridge):
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
252 parser = ArgumentParser(prog=command)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
253 parser.add_argument('bridge_id', nargs='+')
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
254 try:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
255 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
256 except Exception as e:
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
257 return '\n'+e.args[1]
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
258
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
259 found_bridges, ret = _find_bridges(bot, args.bridge_id)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
260 for found_bridge in found_bridges:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
261 found_bridge.restart()
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
262
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
263 return ret+'Bridges restarted.'
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
264
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
265
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
266 def stop_bot(bot, command, args_array, bridge):
157
ce0eb3e969a7 added a stop-bot command
Charly COSTE <changaco@changaco.net>
parents: 155
diff changeset
267 bot.stop()
ce0eb3e969a7 added a stop-bot command
Charly COSTE <changaco@changaco.net>
parents: 155
diff changeset
268 return 'Bot stopped.'
ce0eb3e969a7 added a stop-bot command
Charly COSTE <changaco@changaco.net>
parents: 155
diff changeset
269
ce0eb3e969a7 added a stop-bot command
Charly COSTE <changaco@changaco.net>
parents: 155
diff changeset
270
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
271 def stop_bridges(bot, command, args_array, bridge):
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
272 parser = ArgumentParser(prog=command)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
273 parser.add_argument('bridge_id', nargs='+')
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
274 try:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
275 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
276 except Exception as e:
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
277 return '\n'+e.args[1]
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
278
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
279 found_bridges, ret = _find_bridges(bot, args.bridge_id)
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
280 for found_bridge in found_bridges:
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
281 found_bridge.stop()
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
282
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
283 return ret+'Bridges stopped.'
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
284
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
285
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
286 def xmpp_connections(bot, command, args_array, bridge):
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
287 parser = ArgumentParser(prog=command)
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
288 parser.add_argument('--verbose', '-v', default=False, action='store_true')
173
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
289 parser.add_argument('--sort', '-s', default=False, action='store_true')
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
290 try:
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
291 args = parser.parse_args(args_array)
178
891195c47350 catch all exceptions in commands.py
Charly COSTE <changaco@changaco.net>
parents: 173
diff changeset
292 except Exception as e:
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
293 return '\n'+e.args[1]
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
294 n = len(bot.xmpp_connections)
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
295 if args.verbose:
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
296 ret = 'List of XMPP connections ('+str(n)+'):'
173
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
297 nicknames = bot.xmpp_connections.keys()
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
298 if args.sort:
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
299 nicknames.sort()
6c4aaf8f3733 added "--sort" option to the "connections" command
Charly COSTE <changaco@changaco.net>
parents: 168
diff changeset
300 for nickname in nicknames:
143
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
301 ret += '\n\t'+nickname
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
302 else:
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
303 ret = 'Number of XMPP connections: '+str(n)
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
304 return ret
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
305
61d7cae1d15d added 3 commands: connections, irc-connections and xmpp-connections
Charly COSTE <changaco@changaco.net>
parents: 142
diff changeset
306
160
266a6afb6b79 changed the commands that modify bridges
Charly COSTE <changaco@changaco.net>
parents: 157
diff changeset
307 def xmpp_participants(bot, command, args_array, bridge):
142
8c6184411ec7 minor fix in commands (unbound variable)
Charly COSTE <changaco@changaco.net>
parents: 134
diff changeset
308 ret = ''
134
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
309 if not bridge:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
310 for b in bot.bridges:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
311 xmpp_participants_nicknames = b.get_participants_nicknames_list(protocols=['xmpp'])
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
312 ret += '\nparticipants on '+b.xmpp_room_jid+' ('+str(len(xmpp_participants_nicknames))+'): '+' '.join(xmpp_participants_nicknames)
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
313 return ret
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
314 else:
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
315 xmpp_participants_nicknames = bridge.get_participants_nicknames_list(protocols=['xmpp'])
931a5edc7971 moved commands to a separate file
Charly COSTE <changaco@changaco.net>
parents:
diff changeset
316 return '\nparticipants on '+bridge.xmpp_room_jid+' ('+str(len(xmpp_participants_nicknames))+'): '+' '.join(xmpp_participants_nicknames)