Browse Source

adding '.status join'; adding '.status agg <num>'

tags/v0.1
Ben Kurtovic 13 years ago
parent
commit
894c67370f
1 changed files with 21 additions and 10 deletions
  1. +21
    -10
      irc/commands/afc_status.py

+ 21
- 10
irc/commands/afc_status.py View File

@@ -27,13 +27,8 @@ class AFCStatus(BaseCommand):

def process(self, data):
if data.line[1] == "JOIN":
subs = self.count_submissions()
redirs = self.count_redirects()
files = self.count_files()
agg_num = self.get_aggregate_number((subs, redirs, files))
aggregate = self.get_aggregate(agg_num)
self.connection.notice(data.nick, "\x02Current status:\x0F Articles for Creation %s (\x0302AFC\x0301: \x0305%s\x0301; \x0302AFC/R\x0301: \x0305%s\x0301; \x0302FFU\x0301: \x0305%s\x0301)"
% (aggregate, subs, redirs, files))
notice = self.get_join_notice()
self.connection.notice(data.nick, notice)
return

if data.args:
@@ -50,13 +45,20 @@ class AFCStatus(BaseCommand):
self.connection.reply(data, "there are currently %s open file upload requests." % files)

elif data.args[0].startswith("agg") or data.args[0] == "a":
agg_data = (self.count_submissions(), self.count_redirects(), self.count_files())
agg_num = self.get_aggregate_number(agg_data)
try:
agg_num = data.args[1]
except KeyError:
agg_data = (self.count_submissions(), self.count_redirects(), self.count_files())
agg_num = self.get_aggregate_number(agg_data)
aggregate = self.get_aggregate(agg_num)
self.connection.reply(data, "aggregate is currently %s (AfC %s)." % (agg_num, aggregate))

elif data.args[0].startswith("join") or data.args[0] == "j":
notice = self.get_join_notice()
self.connection.reply(data, notice)

else:
self.connection.reply(data, "unknown argument: \x0303%s\x0301. Valid args are 'subs', 'redirs', and 'files'." % data.args[0])
self.connection.reply(data, "unknown argument: \x0303%s\x0301. Valid args are 'subs', 'redirs', 'files', 'agg', and 'join'." % data.args[0])

else:
subs = self.count_submissions()
@@ -65,6 +67,15 @@ class AFCStatus(BaseCommand):
self.connection.reply(data, "there are currently %s pending submissions, %s open redirect requests, and %s open file upload requests."
% (subs, redirs, files))

def get_join_notice(self):
subs = self.count_submissions()
redirs = self.count_redirects()
files = self.count_files()
agg_num = self.get_aggregate_number((subs, redirs, files))
aggregate = self.get_aggregate(agg_num)
return ("\x02Current status:\x0F Articles for Creation %s (\x0302AFC\x0301: \x0305%s\x0301; \x0302AFC/R\x0301: \x0305%s\x0301; \x0302FFU\x0301: \x0305%s\x0301)"
% (aggregate, subs, redirs, files))

def count_submissions(self):
params = {'action': 'query', 'list': 'categorymembers', 'cmlimit':'500', 'format': 'json'}
params['cmtitle'] = "Category:Pending_AfC_submissions"


Loading…
Cancel
Save