Advertisement
Guest User

Untitled

a guest
Nov 18th, 2014
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.79 KB | None | 0 0
  1. def my_ranking(url):
  2.     import challonge
  3.     from connect import my_connect
  4.  
  5.     err = my_connect(challonge, "LeFrenchMelee")
  6.  
  7.     from tools import url_parse
  8.     subdomain, name = url_parse(url)
  9.  
  10.     if subdomain:
  11.         name = subdomain+'-'+name
  12.  
  13.     import json
  14.     ranking_l = json.dumps({name: ranking_groups(name)}, sort_keys=True, indent=4)
  15.  
  16.     from html import page, par, form, input, br, link, val, textarea
  17.  
  18.     ranking_s = textarea(rows="50", cols="100", txt=ranking_l)
  19.    
  20.     tournaments = challonge.tournaments.index()
  21.  
  22.     other_links = [t['full-challonge-url'] for t in tournaments]
  23.  
  24.     other_list = [link(l.split("/")[-1], "./ranking?url="+l) for l in other_links]
  25.     other_l = br().join(other_list)
  26.  
  27.     my_form = form(input("url"), "Ranking?")
  28.    
  29.     return page("Ranking", par(val("name", name))+my_form+par(ranking_s)+par(other_l))
  30.  
  31. def ranking_groups(name):
  32.     import challonge
  33.     tournament = challonge.tournaments.show(name)
  34.     tid = tournament["id"]
  35.  
  36.     from operator import itemgetter
  37.     participants = sorted(challonge.participants.index(tid), key=itemgetter("final-rank"))
  38.    
  39.     from itertools import groupby
  40.     return {k: [p['name'] for p in l] for k, l in groupby(participants, itemgetter("final-rank"))}
  41.  
  42. def all_rankings():
  43.     import challonge
  44.     from connect import my_connect
  45.  
  46.     err = my_connect(challonge, "LeFrenchMelee")
  47.  
  48.     tournaments = challonge.tournaments.index()
  49.  
  50.     urls = [t['full-challonge-url'] for t in tournaments]
  51.  
  52.     from tools import url_parse
  53.     subns = [url_parse(url) for url in urls]
  54.     names = [s+'-'+n if s else n for (s, n) in subns]
  55.  
  56.     rankings = [ranking_groups(n) for n in names]
  57.  
  58.     import json
  59.     return json.dumps({i: j for (i, j) in zip(names, rankings)}, sort_keys=True, indent=4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement