Пример #1
0
def active_league():
    where = 'c.id = ({id_query})'.format(id_query=active_competition_id_query())
    leagues = competition.load_competitions(where)
    if len(leagues) == 0:
        start_date = dtutil.now(tz=dtutil.WOTC_TZ)
        end_date = determine_end_of_league(start_date)
        name = determine_league_name(end_date)
        comp_id = competition.get_or_insert_competition(start_date, end_date, name, 'League', None)
        leagues = [competition.load_competition(comp_id)]
    return guarantee.exactly_one(leagues)
Пример #2
0
def tournament(comp: Dict[str, Any]) -> None:
    comp = fetch_tools.fetch_json(comp['url'])
    dt = dtutil.ts2dt(comp['start_date'])
    de = dtutil.ts2dt(comp['end_date'])
    competition_id = competition.get_or_insert_competition(
        dt, de, comp['name'], comp['series_name'], comp['url'],
        top.Top(comp['top_n']))
    loaded_competition = competition.load_competition(competition_id)
    if loaded_competition.num_decks < comp['num_decks']:
        for d in comp['decks']:
            store_deck(d)
Пример #3
0
def active_league(should_load_decks: bool = False) -> competition.Competition:
    where = 'c.id = ({id_query})'.format(id_query=active_competition_id_query())
    leagues = competition.load_competitions(where, should_load_decks=should_load_decks)
    if len(leagues) == 0:
        start_date = dtutil.now(tz=dtutil.WOTC_TZ)
        end_date = determine_end_of_league(start_date, seasons.next_rotation())
        name = determine_league_name(start_date, end_date)
        comp_id = competition.get_or_insert_competition(start_date, end_date, name, 'League', None, competition.Top.EIGHT)
        if not comp_id:
            raise InvalidDataException(f'No competition id with {start_date}, {end_date}, {name}')
        leagues = [competition.load_competition(comp_id)]
    return guarantee.exactly_one(leagues)
Пример #4
0
def active_league():
    where = 'c.id = ({id_query})'.format(
        id_query=active_competition_id_query())
    leagues = competition.load_competitions(where)
    if len(leagues) == 0:
        start_date = datetime.datetime.combine(
            dtutil.now().date(), datetime.time(tzinfo=dtutil.WOTC_TZ))
        end_date = determine_end_of_league(start_date)
        name = "League {MM} {YYYY}".format(
            MM=calendar.month_name[end_date.month], YYYY=end_date.year)
        comp_id = competition.get_or_insert_competition(
            start_date, end_date, name, 'League', None)
        leagues = [competition.load_competition(comp_id)]
    return guarantee.exactly_one(leagues)
Пример #5
0
def competition_api(competition_id):
    return return_json(comp.load_competition(competition_id))
Пример #6
0
def competition(competition_id: int) -> str:
    view = Competition(comp.load_competition(competition_id))
    return view.page()
Пример #7
0
def competition(competition_id):
    view = Competition(comp.load_competition(competition_id))
    return view.page()
Пример #8
0
def competition_api(competition_id: int) -> Response:
    return return_json(comp.load_competition(competition_id))
Пример #9
0
def archetypes_sparkline(competition_id: int) -> str:
    path = determine_path(str(competition_id) + '-archetypes-sparkline.png')
    if os.path.exists(path):
        return path
    c = competition.load_competition(competition_id)
    return sparkline(path, list(c.base_archetypes_data().values()))