Esempio n. 1
0
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')))
Esempio n. 2
0
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)
Esempio n. 3
0
def four_o_four(err):
    return custom_render('views/404.html'), 404
Esempio n. 4
0
def login_page(get_args):
    return custom_render('views/view_login.html')
Esempio n. 5
0
def home(get_args):
    if not get_active_user():
        return redirect('/login', code=302)
    else:
        return custom_render('/views/view_home.html')
Esempio n. 6
0
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)
Esempio n. 7
0
def new_deck(get_args):
    return custom_render('views/view_new_deck.html')
Esempio n. 8
0
def account(username, get_args):
    user = User.filter_by(username=username).first()
    return custom_render('views/view_account.html', user=user)