Ejemplo n.º 1
0
def archetypes(deck_type: Optional[str] = None) -> str:
    tournament_only = validate_deck_type(
        deck_type, [DeckType.ALL, DeckType.TOURNAMENT]) == DeckType.TOURNAMENT
    season_id = get_season_id()
    deckless_archetypes = archs.load_archetypes_deckless(
        season_id=season_id, tournament_only=tournament_only)
    all_matchups = archs.load_matchups(season_id=season_id,
                                       tournament_only=tournament_only)
    view = Archetypes(deckless_archetypes,
                      all_matchups,
                      tournament_only=tournament_only)
    return view.page()
Ejemplo n.º 2
0
def archetype_tournament(archetype_id: str) -> str:
    season_id = get_season_id()
    a = archs.load_archetype(archetype_id.replace('+', ' '),
                             season_id=season_id)
    deckless_archetypes = archs.load_archetypes_deckless_for(
        a.id, season_id=season_id)
    archetype_matchups = archs.load_matchups(a.id, season_id=season_id)
    view = Archetype(a,
                     deckless_archetypes,
                     archetype_matchups,
                     season_id,
                     tournament_only=True)
    return view.page()
Ejemplo n.º 3
0
def archetype(archetype_id: str, deck_type: Optional[str] = None) -> str:
    tournament_only = validate_deck_type(
        deck_type, [DeckType.ALL, DeckType.TOURNAMENT]) == DeckType.TOURNAMENT
    season_id = get_season_id()
    a = archs.load_archetype(archetype_id.replace('+', ' '),
                             season_id=season_id,
                             tournament_only=tournament_only)
    deckless_archetypes = archs.load_archetypes_deckless_for(
        a.id, season_id=season_id, tournament_only=tournament_only)
    archetype_matchups = archs.load_matchups(archetype_id=a.id,
                                             season_id=season_id,
                                             tournament_only=tournament_only)
    view = Archetype(a,
                     deckless_archetypes,
                     archetype_matchups,
                     tournament_only=tournament_only,
                     season_id=season_id)
    return view.page()
Ejemplo n.º 4
0
def person(person_id: str) -> str:
    p = ps.load_person_by_id_or_mtgo_username(person_id,
                                              season_id=get_season_id())
    person_cards = cs.load_cards(person_id=p.id, season_id=get_season_id())
    person_archetypes = archs.load_archetypes_deckless(
        person_id=p.id, season_id=get_season_id())
    all_archetypes = archs.load_archetypes_deckless(season_id=get_season_id())
    trailblazer_cards = cs.trailblazer_cards(p.id)
    unique_cards = cs.unique_cards_played(p.id)
    your_cards = {'unique': unique_cards, 'trailblazer': trailblazer_cards}
    person_matchups = archs.load_matchups(person_id=p.id,
                                          season_id=get_season_id())
    view = Person(p, person_cards, person_archetypes, all_archetypes,
                  person_matchups, your_cards, get_season_id())
    return view.page()
Ejemplo n.º 5
0
def rotation_changes_files(changes_type: str) -> Response:
    changes = oracle.pd_rotation_changes(get_season_id())[0 if changes_type == 'new' else 1]
    s = '\n'.join('4 {name}'.format(name=c.name) for c in changes)
    return make_response(s, 200, {'Content-type': 'text/plain; charset=utf-8', 'Content-Disposition': f'attachment; filename={changes_type}.txt'})
Ejemplo n.º 6
0
 def season_name(self) -> str:
     return rotation.season_name(get_season_id())
Ejemplo n.º 7
0
 def show_legal_seasons(self) -> bool:
     return get_season_id() == 0
Ejemplo n.º 8
0
def person(person_id: str) -> str:
    p = ps.load_person_by_id_or_mtgo_username(person_id,
                                              season_id=get_season_id())
    person_cards = cs.load_cards(person_id=p.id, season_id=get_season_id())
    view = Person(p, person_cards, get_season_id())
    return view.page()
Ejemplo n.º 9
0
def rotation_changes() -> str:
    view = RotationChanges(*oracle.pd_rotation_changes(get_season_id()),
                           cs.playability())
    return view.page()
Ejemplo n.º 10
0
def home() -> str:
    view = Home(ns.all_news(max_items=10), ds.latest_decks(),
                cs.load_cards(season_id=get_season_id()), ms.stats())
    return view.page()
Ejemplo n.º 11
0
def season(deck_type=None):
    league_only = deck_type == 'league'
    view = Season(ds.load_season(get_season_id(), league_only), league_only)
    return view.page()
Ejemplo n.º 12
0
def home():
    view = Home(ns.load_news(max_items=10), ds.load_decks(limit='LIMIT 50'), cs.played_cards(season_id=get_season_id()))
    return view.page()
Ejemplo n.º 13
0
def archetype(archetype_id):
    season_id = get_season_id()
    a = archs.load_archetype(archetype_id.replace('+', ' '), season_id=season_id)
    view = Archetype(a, archs.load_archetypes_deckless_for(a.id, season_id=season_id), archs.load_matchups(a.id, season_id=season_id), season_id)
    return view.page()
Ejemplo n.º 14
0
def archetypes():
    view = Archetypes(archs.load_archetypes_deckless(season_id=get_season_id()))
    return view.page()
Ejemplo n.º 15
0
def archetypes() -> str:
    season_id = get_season_id()
    deckless_archetypes = archs.load_archetypes_deckless(season_id=season_id)
    all_matchups = archs.load_all_matchups(season_id=season_id)
    view = Archetypes(deckless_archetypes, all_matchups)
    return view.page()
Ejemplo n.º 16
0
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()
Ejemplo n.º 17
0
def archetypes_tournament() -> str:
    season_id = get_season_id()
    deckless_archetypes = archs.load_archetypes_deckless(season_id=season_id)
    all_matchups = archs.load_all_matchups(season_id=season_id)
    view = Archetypes(deckless_archetypes, all_matchups, tournament_only=True)
    return view.page()
Ejemplo n.º 18
0
def cards():
    view = Cards(cs.played_cards(season_id=get_season_id()))
    return view.page()
Ejemplo n.º 19
0
def tournament_leaderboards() -> str:
    leaderboards = comp.leaderboards(season_id=get_season_id())
    view = TournamentLeaderboards(leaderboards)
    return view.page()
Ejemplo n.º 20
0
def card(name):
    try:
        c = cs.load_card(oracle.valid_name(urllib.parse.unquote_plus(name)), season_id=get_season_id())
        view = Card(c)
        return view.page()
    except InvalidDataException as e:
        raise DoesNotExistException(e)
Ejemplo n.º 21
0
def decks() -> str:
    view = Decks(ds.load_decks(limit='LIMIT 500', season_id=get_season_id()))
    return view.page()
Ejemplo n.º 22
0
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()
Ejemplo n.º 23
0
def people() -> str:
    view = People(ps.load_people(season_id=get_season_id()))
    return view.page()
Ejemplo n.º 24
0
def cards() -> str:
    view = Cards(cs.load_cards(season_id=get_season_id()))
    return view.page()
Ejemplo n.º 25
0
 def __init__(self, decks) -> None:
     super().__init__()
     self.decks = decks
     self.season_url = url_for('seasons.season', season_id=get_season_id())
     self.show_seasons = True
Ejemplo n.º 26
0
def cards_tournament() -> str:
    view = Cards(cs.load_cards(season_id=get_season_id()),
                 tournament_only=True)
    return view.page()
Ejemplo n.º 27
0
 def season_id(self) -> int:
     return get_season_id()
Ejemplo n.º 28
0
def competitions() -> str:
    view = Competitions(comp.load_competitions(season_id=get_season_id()))
    return view.page()
Ejemplo n.º 29
0
 def season_code_lower(self) -> str:
     return rotation.season_code(get_season_id()).lower()
Ejemplo n.º 30
0
 def season_code_lower(self) -> str:
     return seasons.season_code(get_season_id()).lower()