示例#1
0
    def admin_sessions(user):
        lines = []
        for session in GameSession.select().order_by(
                GameSession.creation_date):
            lines.append(
                "<tr><td><a href='{}'>{}</a></td><td>{}</td><td>{}</td><td>{}</td><td>{}</td></tr>"
                .format(
                    flask.url_for('admin_session', session_id=session.id),
                    session.name,
                    session.creator.name,
                    session.creation_date,
                    session.state,
                    len(session.players),
                ))

        return (
            "<table border='1'>"
            "<tr><th>Name</th><th>Creator</th><th>Creation Date</th><th>State</th><th>Num Players</th></tr>"
            "{}</table>").format("".join(lines))
示例#2
0
    def admin_sessions(user):
        paginated_query = flask_utils.PaginatedQuery(
            GameSession.select().order_by(GameSession.creation_date.desc()),
            paginate_by=20,
            check_bounds=True,
        )

        lines = []
        for session in paginated_query.get_object_list():
            lines.append(
                "<tr><td><a href='{}'>{}</a></td><td>{}</td><td>{}</td><td>{}</td><td>{}</td></tr>"
                .format(
                    flask.url_for('admin_session', session_id=session.id),
                    session.name,
                    session.creator.name,
                    session.creation_date,
                    session.state,
                    len(session.players),
                ))

        page = paginated_query.get_page()
        previous = "Previous"
        if page > 1:
            previous = "<a href='{}'>Previous</a>".format(
                flask.url_for(".admin_sessions", page=page - 1))

        next_link = "Next"
        if page < paginated_query.get_page_count():
            next_link = "<a href='{}'>Next</a>".format(
                flask.url_for(".admin_sessions", page=page + 1))

        return (
            "<table border='1'>"
            "<tr><th>Name</th><th>Creator</th><th>Creation Date</th><th>State</th><th>Num Players</th></tr>"
            "{content}</table>Page {page} of {num_pages}. {previous} / {next}."
        ).format(
            content="".join(lines),
            page=page,
            num_pages=paginated_query.get_page_count(),
            previous=previous,
            next=next_link,
        )
示例#3
0
def list_game_sessions(sio: ServerApp, limit: Optional[int]):
    return [
        session.create_list_entry() for session in
        GameSession.select().order_by(GameSession.id.desc()).limit(limit)
    ]
示例#4
0
def list_game_sessions(sio: ServerApp):
    return [session.create_list_entry() for session in GameSession.select()]