def view_card(get_args): args = request.args.to_dict() q = db.Session.query(MtgCardModel).join(MtgCardSetModel)\ .filter(MtgCardModel.name == args.get('name'))\ .filter(MtgCardModel.multiverse_id != None) if args.get('set'): q = q.filter(MtgCardSetModel.code==args.get('set')) else: q = q.order_by(MtgCardSetModel.release_date.desc()) card = q.first() if card: return custom_render("views/view_card.html", card=card) else: return custom_render("views/view_card_suggestions.html", suggestions=get_card_suggestions(args.get('name')))
def view_deck(username, deck, get_args): from collections import OrderedDict user = User.filter_by(username=username).first() deck = Deck.filter_by(user_id=user.id, name=deck).first() deck_dict = OrderedDict() priority_list = [ 'lands', 'creatures', 'artifacts', 'enchantments', 'planeswalkers', 'instants', 'sorceries' ] for card_type in priority_list: deck_dict.setdefault(card_type, []) for card, quantity in getattr(deck, card_type): already_added = False for ctype in priority_list[:priority_list.index(card_type)]: if (card, quantity) in deck_dict[ctype]: already_added = True break if not already_added: deck_dict[card_type].append((card, quantity)) return custom_render('/views/view_deck.html', user=user, deck=deck, deck_dict=deck_dict)
def four_o_four(err): return custom_render('views/404.html'), 404
def login_page(get_args): return custom_render('views/view_login.html')
def home(get_args): if not get_active_user(): return redirect('/login', code=302) else: return custom_render('/views/view_home.html')
def view_users_decks(username, get_args): user = User.filter_by(username=username).first() if user: return custom_render('views/view_decks.html', user=user) else: abort(404)
def new_deck(get_args): return custom_render('views/view_new_deck.html')
def account(username, get_args): user = User.filter_by(username=username).first() return custom_render('views/view_account.html', user=user)