]> jfr.im git - erebus.git/blobdiff - modules/trivia.py
change to use str.startswith
[erebus.git] / modules / trivia.py
index 3eabbbc02097f60218daea0d1bdc8830dbde73f9..c03799035d2e384450195d9c3d2960710441944d 100644 (file)
@@ -6,8 +6,9 @@
 modinfo = {
        'author': 'Erebus Team',
        'license': 'public domain',
-       'compatible': [1], # compatible module API versions
-       'depends': ['userinfo'], # other modules required to work properly?
+       'compatible': [1,2],
+       'depends': ['userinfo'],
+       'softdeps': ['help'],
 }
 
 # preamble
@@ -109,14 +110,6 @@ class TriviaState(object):
                        self.nextquestiontimer.cancel()
                        self.nextquestiontimer = None
                except: pass
-#TODO remove if the replacement works
-#              if threading is not None and threading._Timer is not None:
-#                      if isinstance(self.steptimer, threading._Timer):
-#                              self.steptimer.cancel()
-#                      if isinstance(self.nextquestiontimer, threading._Timer):
-#                              self.nextquestiontimer.cancel()
-#                              self.nextquestiontimer = None
-#              self.savedb()
 
        def savedb(self): #returns whether or not it was able to save
                if json is not None and json.dump is not None:
@@ -137,7 +130,7 @@ class TriviaState(object):
                                                os.unlink(tmpfn)
                                        except OSError: # temp file is already gone
                                                pass
-                                       raise #TODO: we may be better off just swallowing exceptions?
+                                       raise # we may be better off just swallowing exceptions?
                return False
 
        def getchan(self):
@@ -268,9 +261,9 @@ class TriviaState(object):
                        if 'topicformat' in self.db and self.db['topicformat'] is not None:
                                self.getbot().conn.send("TOPIC %s" % (self.db['chan']))
 
-               if isinstance(self.steptimer, threading._Timer):
+               if isinstance(self.steptimer, MyTimer):
                        self.steptimer.cancel()
-               if isinstance(self.nextquestiontimer, threading._Timer):
+               if isinstance(self.nextquestiontimer, MyTimer):
                        self.nextquestiontimer.cancel()
                        self.nextquestiontimer = None
 
@@ -301,7 +294,7 @@ class TriviaState(object):
                        nextqid = random.randrange(0, len(self.questions))
                        nextq = self.questions[nextqid]
 
-               if nextq[0][0] == "!":
+               if nextq[0].startswith("!"):
                        nextqid = None
                        nextq = specialQuestion(nextq)
 
@@ -665,7 +658,7 @@ def questionpause(bot, user, chan, realtarget, *args):
 @lib.help("<full question>", "finds a qid given a complete question")
 def findq(bot, user, chan, realtarget, *args):
        args = list(args)
-       if args[0][0] == "@":
+       if args[0].startswith("@"):
                cat = args.pop(0)[1:].lower()
                questions = state.db['questions'][cat]
        else:
@@ -688,7 +681,7 @@ def findq(bot, user, chan, realtarget, *args):
 @lib.help("[@<category>] <regex>", "finds a qid given a regex or partial question")
 def findqre(bot, user, chan, realtarget, *args):
        args = list(args)
-       if args[0][0] == "@":
+       if args[0].startswith("@"):
                cat = args.pop(0)[1:].lower()
                questions = state.db['questions'][cat]
        else:
@@ -713,7 +706,7 @@ def findqre(bot, user, chan, realtarget, *args):
 @lib.help("[@<category>] <qid>", "displays the q*a for a qid", "category defaults to current")
 def showq(bot, user, chan, realtarget, *args):
        args = list(args)
-       if args[0][0] == "@":
+       if args[0].startswith("@"):
                cat = args.pop(0)[1:].lower()
                questions = state.db['questions'][cat]
        else:
@@ -735,7 +728,7 @@ def showq(bot, user, chan, realtarget, *args):
 @lib.help("[@<category>] <qid>", "removes a question from the database")
 def delq(bot, user, chan, realtarget, *args):
        args = list(args)
-       if args[0][0] == "@":
+       if args[0].startswith("@"):
                cat = args.pop(0)[1:].lower()
                questions = state.db['questions'][cat]
        else:
@@ -752,7 +745,7 @@ def delq(bot, user, chan, realtarget, *args):
 @lib.help("[@<category>] <q>*<a>", "adds a question")
 def addq(bot, user, chan, realtarget, *args):
        args = list(args)
-       if args[0][0] == "@":
+       if args[0].startswith("@"):
                cat = args.pop(0)[1:].lower()
                questions = state.db['questions'][cat]
        else:
@@ -857,8 +850,8 @@ def num_TOPIC(bot, textline):
                        "%s (%s)" % (person(x), pts(x))
                        for x in range(3) if x < len(state.db['ranks'])
                ]),
-               'top3c': ' '.join([
-                       "%s (%s, %s)" % (person(x), pts(x), country(x))
+               'top3c': ', '.join([
+                       "%s (%s) %s" % (person(x), country(x), pts(x))
                        for x in range(3) if x < len(state.db['ranks'])
                ]),
                'top10': ' '.join([
@@ -889,6 +882,7 @@ def specialQuestion(oldq):
                randnum2 = random.randrange(0, 11)
                newq[0] = "What is %d + %d?" % (randnum1, randnum2)
                newq[1] = spellout(randnum1+randnum2)
+       else: pass #default to not modifying
        return newq
 
 def spellout(num):