コード例 #1
0
ファイル: game.py プロジェクト: pull-requests/factionized
def index(request):
    if request.method == 'GET':
        games = Game.all()
        return render('game/list.html',
                      dict(games=games))

    elif request.method == 'POST':
        if not hasattr(request, 'user') or not request.user:
            login_url = users.create_login_url(request.get_full_path())
            return redirect(login_url)
        values = request.POST
        game = Game(name=values.get('name', 'Unnamed game'),
                    game_starter=request.profile,
                    signup_deadline=datetime.now() + timedelta(7),
                    signups=[])
        game.put()

        game.start_pregame()
        game.add_to_waitlist(request.profile)

        # redirect to the game
        return redirect('/games/%s' % game.uid)
コード例 #2
0
    def rendered_page(self, path):
        site = {
            "games": Game.all(),
            "pages": Page.all(),
            "calendar": Event.future_events(),
        }

        # is game?
        if path.startswith("games/"):
            # remove trailing slash
            slug = "/".join(path.split("/")[1:])
            game = Game.where("slug", "=", slug).first()

            if game:
                return self._render(game.layout, page=game, site=site)

        # not game
        if path != "/":
            path = "/{}/".format(path)
        page = Page.where("slug", "=", path).first()
        if page:
            return self._render(page.layout, page=page, site=site)

        return None