aboutsummaryrefslogtreecommitdiffstats
path: root/titlebot/commands/highest
blob: d0408ac0f702b09b6aecc4137abd338f2c103a37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env python3
import json
from os import environ
import sys
import os
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 =  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())))