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, }
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'), }, )
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, }
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, }