def __init__(self, form: ImmutableMultiDict, person_id: int = None, mtgo_username: str = None) -> None: super().__init__(form) if person_id is not None: ps = person.load_person(person_id) self.recent_decks: List[Dict[str, Any]] = [] for d in sorted(ps.decks, key=lambda deck: deck['created_date'], reverse=True)[0:10]: recent_deck = {'name': d['name'], 'main': [], 'sb': []} for c in d.maindeck: recent_deck['main'].append('{n} {c}'.format(n=c['n'], c=c['name'])) for c in d.sideboard: recent_deck['sb'].append('{n} {c}'.format(n=c['n'], c=c['name'])) self.recent_decks.append({ 'name': d['name'], 'list': json.dumps(recent_deck) }) if mtgo_username is not None: self.mtgo_username = mtgo_username self.deck = None
def person_api(person): try: p = ps.load_person(person) p.decks_url = url_for('person_decks_api', person=person) p.head_to_head = url_for('person_h2h_api', person=person) return return_json(p) except DoesNotExistException: return return_json(generate_error('NOTFOUND', 'Person does not exist'))
def link_discord(self): p = deck.get_or_insert_person_id(self.form['mtgo_username'], None, None) p = person.load_person(p) if p.discord_id is None: sql = 'UPDATE person SET discord_id = %s WHERE id = %s' db().execute(sql, [auth.discord_id(), p.id]) self.person = p else: self.form.errors.mtgo_username = '******'.format( mtgo_username=self.form['mtgo_username'])
def __init__(self, form, person_id=None, mtgo_username=None): super().__init__(form) if person_id is not None: ps = person.load_person(person_id) self.recent_decks = [] for d in sorted(ps.decks, key=lambda deck: deck["created_date"], reverse=True)[0:10]: recent_deck = {"name": d["name"], "main": [], "sb":[]} for c in d.maindeck: recent_deck["main"].append("{n} {c}".format(n=c["n"], c=c["name"])) for c in d.sideboard: recent_deck["sb"].append("{n} {c}".format(n=c["n"], c=c["name"])) self.recent_decks.append({"name":d["name"], "list":json.dumps(recent_deck)}) if mtgo_username is not None: self.mtgo_username = mtgo_username
def person(person_id): p = ps.load_person(person_id, season_id=get_season_id()) person_cards = cs.load_cards(person_id=p.id, season_id=get_season_id()) only_played_cards = [] view = Person(p, person_cards, only_played_cards) return view.page()
def person(person_id): p = ps.load_person(person_id, season_id=get_season_id()) played_cards = cs.played_cards_by_person(p.id, get_season_id()) only_played_cards = cs.only_played_by(p.id, get_season_id()) view = Person(p, played_cards, only_played_cards) return view.page()
def person(person_id): p = ps.load_person(person_id) view = Person(p) return view.page()
def person_h2h_api(person): p = ps.load_person(person) return return_json(p.head_to_head)
def person_decks_api(person): p = ps.load_person(person) return return_json(p.decks)
def person_api(person): p = ps.load_person(person) p.decks = url_for('person_decks_api', person=person) return return_json(p)