コード例 #1
0
ファイル: endpoints.py プロジェクト: Subject38/bemaniutils
def addrival() -> Dict[str, Any]:
    frontend = PopnMusicFrontend(g.data, g.config, g.cache)
    version = int(request.get_json()['version'])
    other_userid = UserID(int(request.get_json()['userid']))
    userid = g.userID

    # Add this rival link
    profile = g.data.remote.user.get_profile(GameConstants.POPN_MUSIC, version,
                                             other_userid)
    if profile is None:
        raise Exception('Unable to find profile for rival!')

    g.data.local.user.put_link(
        GameConstants.POPN_MUSIC,
        version,
        userid,
        'rival',
        other_userid,
        {},
    )

    # Now return updated rival info
    rivals, playerinfo = frontend.get_rivals(userid)

    return {
        'rivals': rivals,
        'players': playerinfo,
    }
コード例 #2
0
ファイル: endpoints.py プロジェクト: Subject38/bemaniutils
def viewrivals() -> Response:
    frontend = PopnMusicFrontend(g.data, g.config, g.cache)
    rivals, playerinfo = frontend.get_rivals(g.userID)

    # There is no support for Rivals in Tune Street.
    if VersionConstants.POPN_MUSIC_TUNE_STREET in rivals:
        del rivals[VersionConstants.POPN_MUSIC_TUNE_STREET]

    return render_react(
        'Pop\'n Music Rivals',
        'popn/rivals.react.js',
        {
            'userid': str(g.userID),
            'rivals': rivals,
            'max_active_rivals': frontend.max_active_rivals,
            'players': playerinfo,
            'versions':
            {version: name
             for (game, version, name) in frontend.all_games()},
        },
        {
            'refresh': url_for('popn_pages.listrivals'),
            'search': url_for('popn_pages.searchrivals'),
            'player': url_for('popn_pages.viewplayer', userid=-1),
            'addrival': url_for('popn_pages.addrival'),
            'removerival': url_for('popn_pages.removerival'),
        },
    )
コード例 #3
0
ファイル: endpoints.py プロジェクト: Subject38/bemaniutils
def listrivals() -> Dict[str, Any]:
    frontend = PopnMusicFrontend(g.data, g.config, g.cache)
    rivals, playerinfo = frontend.get_rivals(g.userID)

    # There is no support for Rivals in Tune Street.
    if VersionConstants.POPN_MUSIC_TUNE_STREET in rivals:
        del rivals[VersionConstants.POPN_MUSIC_TUNE_STREET]

    return {
        'rivals': rivals,
        'players': playerinfo,
    }
コード例 #4
0
ファイル: endpoints.py プロジェクト: Subject38/bemaniutils
def removerival() -> Dict[str, Any]:
    frontend = PopnMusicFrontend(g.data, g.config, g.cache)
    version = int(request.get_json()['version'])
    other_userid = UserID(int(request.get_json()['userid']))
    userid = g.userID

    # Remove this rival link
    g.data.local.user.destroy_link(
        GameConstants.POPN_MUSIC,
        version,
        userid,
        'rival',
        other_userid,
    )

    # Now return updated rival info
    rivals, playerinfo = frontend.get_rivals(userid)

    return {
        'rivals': rivals,
        'players': playerinfo,
    }