diff options
Diffstat (limited to 'Reaktor')
| -rwxr-xr-x | Reaktor/titlebot/commands/highest | 16 | 
1 files changed, 12 insertions, 4 deletions
| diff --git a/Reaktor/titlebot/commands/highest b/Reaktor/titlebot/commands/highest index 5ac9ba99..d0408ac0 100755 --- a/Reaktor/titlebot/commands/highest +++ b/Reaktor/titlebot/commands/highest @@ -8,15 +8,23 @@ import poll  f = 'suggestions.json'  title=" ".join(sys.argv[1:])  db = poll.load_db(f) +# only print the last N values (default 1)  limit = int(sys.argv[1]) if len(sys.argv) > 1 else 1 -num = 1  +num =  0 +last_vote = 9001  # stolen from http://stackoverflow.com/questions/9647202/ordinal-numbers-replacement  suffixes = ["th", "st", "nd", "rd", ] + ["th"] * 16  for entry in poll.sort_by_votes(db): +    # if two entries have the same number of upvotes, do not increment the rank +    current_vote = sum(entry['votes'].values()) +    if current_vote < last_vote: +        num = num + 1 +    last_vote = current_vote +    # exit if we are above the limit +    if num > limit: +        sys.exit(0) +          suffixed_num = str(num) + suffixes[num % 100]      print("%s: '%s' (%d votes)" %              (suffixed_num,entry['title'],sum(entry['votes'].values()))) -    num = num + 1 -    if num > limit: -        sys.exit(0) | 
