def guarantee_at_most_one_or_retire(decks: List[Deck]) -> Optional[Deck]: try: run = guarantee.at_most_one(decks) except TooManyItemsException: league.retire_deck(decks[0]) run = decks[1] return run
def do_admin_retire_deck() -> wrappers.Response: form = RetireForm(request.form) if form.validate(): d = ds.load_deck(form.entry) lg.retire_deck(d) return redirect(url_for('admin_retire_deck')) return make_response(admin_retire_deck(form))
def retire_deck() -> Union[str, Response]: form = RetireForm(request.form, discord_user=session.get('id')) if form.validate(): d = ds.load_deck(form.entry) ps.associate(d, session['id']) lg.retire_deck(d) return redirect(url_for('signup')) return retire(form)
def drop(person): error = validate_api_key() if error: return error decks = league.active_decks_by(person) if len(decks) == 0: return return_json(generate_error('NO_ACTIVE_RUN', 'That person does not have an active run')) run = guarantee.exactly_one(decks) league.retire_deck(run) result = {'success':True} return return_json(result)