def apiend(): obj_playerlist = [] for i, player in enumerate(playerlist): obj_player = Objects.player(self, player, persons.get(player.dmmid), leaders.get(player.id)) rankrecord = rankrecord_dict.get(player.id) rankname = None if rankrecord: rankmaster = BackendApi.get_battleevent_rankmaster( model_mgr, eventid, rankrecord.getRank(config), using=settings.DB_READONLY) if rankmaster: rankname = rankmaster.name obj_player['event_rankname'] = rankname or u'----' # ライバルかどうかをフラグで持たせる。一応ライバルは [0] の位置に入ってる筈だけど、すり変わってるとバグがでそうなので。 if is_rival and i == 0: rival_key = BackendApi.make_is_rival_strings( player.id, eventid) obj_player['is_rival'] = True else: rival_key = None obj_player['is_rival'] = False is_battle_ok = True revenge = revengedict.get(player.id) if revenge: url = UrlMaker.battleevent_battlepre(player.id, revenge.id) else: url = UrlMaker.battleevent_battlepre(player.id, rival_key=rival_key) is_battle_ok = player.id in filtered_oidlist obj_player['url_eventbattle'] = self.makeAppLinkUrl(url) obj_player['is_battle_ok'] = is_battle_ok obj_player['power_total'] = deck_powers.get(player.id, 0) obj_playerlist.append(obj_player) # self.html_param['playerlist'] で勝負相手を決定している self.html_param['playerlist'] = obj_playerlist
def __makeBackLinkUrlBattleEvent(self, args): if args and 0 < len(args) and str(args[0]).isdigit(): revengeid = None if 1 < len(args) and str(args[1]).isdigit(): revengeid = args[1] rival_key = None if 2 < len(args): rival_key = args[2] url = UrlMaker.battleevent_battlepre(args[0], revengeid, rival_key=rival_key) else: url = UrlMaker.battleevent_opplist() return { 'url': self.makeAppLinkUrl(url, add_frompage=False), 'text': u'イベントへ戻る' }