]>
jfr.im git - irc/rizon/acid.git/blob - pyva/src/main/python/limitserv/cmd_admin.py
1 import pseudoclient
.sys_base
3 from datetime
import datetime
6 from pseudoclient
import cmd_admin
7 from pseudoclient
.cmd_admin
import \
15 def admin_sys(self
, source
, target
, pieces
):
25 names
.append('options')
26 subsystems
.append(self
.options
)
29 names
.append('channels')
30 subsystems
.append(self
.channels
)
34 subsystems
.append(self
.auth
)
39 if operation
in ['u', 'update']:
40 for subsystem
in subsystems
:
43 self
.msg(target
, 'Forced update for @b%s@b.' % '@b, @b'.join(names
))
44 elif operation
in ['r', 'reload']:
45 for subsystem
in subsystems
:
48 self
.msg(target
, 'Forced reload for @b%s@b.' % '@b, @b'.join(names
))
49 elif operation
in ['d', 'delay']:
51 for subsystem
in subsystems
:
52 self
.msg(target
, 'Auto-update delay for @b%s@b is %d seconds.' % (subsystem
.name
, subsystem
.delay
))
55 seconds
= int(pieces
[2])
60 self
.msg(target
, 'Auto-update delay must be greater than 10 seconds.')
63 for subsystem
in subsystems
:
64 subsystem
.set_option('update_period', seconds
)
67 self
.msg(target
, 'Auto-update delay for @b%s@b set to @b%d@b seconds.' % ('@b, @b'.join(names
), seconds
))
73 def admin_stats(self
, source
, target
, pieces
):
74 self
.msg(target
, 'Registered channels: @b%d@b.' % len(self
.channels
.list_all()))
77 def admin_qsize(self
, source
, target
, pieces
):
78 self
.msg(target
, 'Queue size: %d' % len(self
.limit_monitor
))
81 def admin_delay(self
, source
, target
, pieces
):
83 self
.msg(target
, 'Delay: %d seconds' % self
.limit_monitor
._delay
)
87 new_delay
= int(pieces
[0])
91 self
.limit_monitor
.set_delay(new_delay
)
92 self
.msg(target
, 'New delay set to %d seconds' % new_delay
)
97 'chan' : (admin_chan
, '<ban|unban|info|add|remove|list|blist> <channel> [reason]'),
98 'unreg' : (admin_unregistered
, '<check|list|part> - remove unregistered channels'),
99 'stats' : (admin_stats
, 'counts registered channels'),
100 'db' : (admin_db
, '[on|off] - enables/disables auto commits to db'),
101 'opt' : (admin_opt
, '[get|set|clear] [option] [value] - manipulates options (list all if no arguments)'),
102 'sys' : (admin_sys
, '<subsystem> <operation> [value] - (subsystems: options (o), channels (c), auth (a)) (operations: update (u), reload (r), delay (d))'),
103 'log' : (admin_log
, '[level] - gets or sets the log level (0-7).'),
104 'msg' : (admin_msg
, '<message> - sends a message to all channels'),
105 'qsize' : (admin_qsize
, '[debug command] shows channel update queue size'),
106 'delay' : (admin_delay
, '<new_delay> - (seconds) changes the interval between limit changes')