コード例 #1
0
ファイル: views.py プロジェクト: sjb9774/mtg-link
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')))
コード例 #2
0
ファイル: views.py プロジェクト: sjb9774/mtg-link
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)
コード例 #3
0
ファイル: views.py プロジェクト: sjb9774/mtg-link
def four_o_four(err):
    return custom_render('views/404.html'), 404
コード例 #4
0
ファイル: views.py プロジェクト: sjb9774/mtg-link
def login_page(get_args):
    return custom_render('views/view_login.html')
コード例 #5
0
ファイル: views.py プロジェクト: sjb9774/mtg-link
def home(get_args):
    if not get_active_user():
        return redirect('/login', code=302)
    else:
        return custom_render('/views/view_home.html')
コード例 #6
0
ファイル: views.py プロジェクト: sjb9774/mtg-link
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)
コード例 #7
0
ファイル: views.py プロジェクト: sjb9774/mtg-link
def new_deck(get_args):
    return custom_render('views/view_new_deck.html')
コード例 #8
0
ファイル: views.py プロジェクト: sjb9774/mtg-link
def account(username, get_args):
    user = User.filter_by(username=username).first()
    return custom_render('views/view_account.html', user=user)