#!/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())))