def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubrentdo/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master( model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return # 借りる日数. days = self.request.get(Defines.URLQUERY_DAYS) days = int(days) if days and days.isdigit() else 0 # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 書き込み. try: db_util.run_in_transaction(self.tr_write, uid, master, days, self.__now) except CabaretError, err: if err.code == CabaretError.Code.ALREADY_RECEIVED: pass elif err.code == CabaretError.Code.ILLEGAL_ARGS: self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return else: raise
def process(self): # 現在時刻. now = OSAUtil.get_now() # 各店舗の更新. self.updateStore(now) # ModelRequestMgr. model_mgr = self.getModelMgr() # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 経営情報. scoredata_weekly = BackendApi.get_cabaretclub_scoreplayerdata_weekly( model_mgr, uid, now - datetime.timedelta(days=7)) if scoredata_weekly is None: self.appRedirect(self.makeAppLinkUrl(UrlMaker.mypage())) return elif not scoredata_weekly.view_result: # 閲覧フラグの更新. db_util.run_in_transaction(self.tr_write, uid, scoredata_weekly.id) # 演出用パラメータ. if self.getFromPageName() == Defines.FromPages.CABACLUB_STORE: url = UrlMaker.cabaclubtop() else: url = UrlMaker.mypage() params = dict( backUrl=self.makeAppLinkUrl(url), proceeds=scoredata_weekly.proceeds, customer=scoredata_weekly.customer, cast=randint(0, 2), ) self.appRedirectToEffect('cb_system/result/effect.html', params)
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubopen/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY) if master is None: # 存在しない. self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return mid = master.id # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id try: db_util.run_in_transaction(self.tr_write, uid, master, self.__now) except CabaretError, err: if err.code == CabaretError.Code.ALREADY_RECEIVED: pass elif err.code == CabaretError.Code.ILLEGAL_ARGS: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return else: raise
def process(self): args = self.getUrlArgs('/promotiontop/') appname = args.get(0) is_recipient = bool(int(self.request.get(Defines.URLQUERY_FLAG, '0'))) self.html_param['is_recipient'] = is_recipient model_mgr = self.getModelMgr() v_player = self.getViewerPlayer() if PlayerCrossPromotion.is_session(): self.html_param['is_pc'] = self.is_pc if self.is_pc: # self.html_param['url_goh'] = 'http://rcv.ixd.dmm.com/api/surl?urid=NmcO0Hxz' # self.html_param['url_harepai'] = 'http://rcv.ixd.dmm.com/api/surl?urid=XzIUBerr' # self.html_param['url_sengoku'] = 'http://www.dmm.co.jp/netgame/feature/sengokuaibu.html' self.html_param['url_avst'] = 'http://www.dmm.co.jp/netgame/social/-/gadgets/=/app_id=445699/' self.html_param['url_noahs_gate'] = 'http://www.dmm.co.jp/netgame/social/-/gadgets/=/app_id=223705/' else: # self.html_param['url_goh'] = 'http://rcv.ixd.dmm.com/api/surl?urid=t6vJmS4X' # self.html_param['url_harepai'] = 'http://rcv.ixd.dmm.com/api/surl?urid=j9mnDsZP' # self.html_param['url_sengoku'] = 'http://www.dmm.co.jp/netgame/feature/sengokuaibu.html' self.html_param['url_avst'] = 'http://www.dmm.co.jp/netgame_s/avstrikers/' self.html_param['url_noahs_gate'] = 'http://sp.dmm.co.jp/netgame/gadgets/index/app_id/223705/' url_base = UrlMaker.promotion_top(appname) if is_recipient: self.html_param['url_cabaret'] = self.makeAppLinkUrl(url_base) else: self.html_param['url_recipient'] = self.makeAppLinkUrl( OSAUtil.addQuery(url_base, Defines.URLQUERY_FLAG, '1')) # set display information for start time and end time of cross promotion start_date = '{d.month}/{d.day} {d.hour}:{d.minute:02}'.format(d=Defines.CROSS_PROMO_START_TIME) end_date = '{d.month}/{d.day} {d.hour}:{d.minute:02}'.format(d=Defines.CROSS_PROMO_END_TIME) self.html_param['cross_promo_time_limit'] = start_date + '〜' + end_date self.html_param['url_treasurelist'] = self.makeAppLinkUrl(UrlMaker.treasurelist()) self.html_param['url_cabaclubtop'] = self.makeAppLinkUrl(UrlMaker.cabaclubtop()) self.html_param['url_trade'] = self.makeAppLinkUrl(UrlMaker.trade()) self.html_param['url_scout'] = self.makeAppLinkUrl(UrlMaker.scout()) self.html_param['url_battle'] = self.makeAppLinkUrl(UrlMaker.battle()) self.html_param['url_gacha'] = self.makeAppLinkUrl( OSAUtil.addQuery( UrlMaker.gacha(), Defines.URLQUERY_GTYPE, Defines.GachaConsumeType.GTYPE_NAMES[Defines.GachaConsumeType.STEPUP2] ) ) player_cross_promotion = model_mgr.get_model(PlayerCrossPromotion, v_player.id) if player_cross_promotion: self.html_param['total_login_count'] = player_cross_promotion.total_login_count else: self.html_param['total_login_count'] = 0 self.writeAppHtml('promotion/{0}/top'.format(appname)) return else: # 開催期間外ならTopに飛ばす self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.mypage())) return
def __makeBackLinkUrlCabaClubStore(self, args): if args and 0 < len(args) and str(args[0]).isdigit(): url = UrlMaker.cabaclubstore(int(args[0])) else: url = UrlMaker.cabaclubtop() return { 'url': self.makeAppLinkUrl(url, add_frompage=False), 'text': u'店舗へ戻る' }
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubcastselect/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master( model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return self.__mid = master.id # 削除するID. cardid = args.getInt(1) card = None obj_card = None if cardid: cardlist = BackendApi.get_cards([cardid], model_mgr, using=settings.DB_READONLY) if not cardlist or cardlist[0].card.uid != uid: # カードの指定おかしい. self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return card = cardlist[0] obj_card = Objects.card(self, card) obj_card['url_remove'] = self.makeAppLinkUrl( UrlMaker.cabaclubcastremove(mid, cardid)) self.__cardid = cardid or 0 # 絞り込みのパラメータ. self.loadSortParams(default_sortby=Defines.CardSortType.COST_REV, default_ckind_type=Defines.CardKind.NORMAL, default_maxrare=Defines.Rarity.LIST[-1]) # カード情報埋め込み. self.putCardList() # HTML書き出し. self.html_param.update( current_card=obj_card, url_store=self.makeAppLinkUrl(UrlMaker.cabaclubstore(mid)), ) self.writeBoxHtml('cabaclub/castselect')
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubcancelend/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return self.writeAppHtml('cabaclub/cancelend')
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubcastremove/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master( model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return mid = master.id # 削除するID. cardid = args.getInt(1) card = None if cardid: cardlist = BackendApi.get_cards([cardid], model_mgr, using=settings.DB_READONLY) if cardlist: card = cardlist[0] if card is None or card.card.uid != uid: # カードの指定おかしい. self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return # 書き込み. try: db_util.run_in_transaction(self.tr_write, uid, master, self.__now, cardid) except CabaretError, err: if err.code in CabaretError.Code.ALREADY_RECEIVED: pass elif err.code == CabaretError.Code.ILLEGAL_ARGS: self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return else: raise
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubuado/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master( model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 書き込み前店舗情報. storeset = BackendApi.get_cabaretclub_storeset( model_mgr, uid, mid, using=settings.DB_READONLY) if storeset is None or not storeset.is_alive(self.__now): # 店舗を借りていない. self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return eventmaster = storeset.get_current_eventmaster(self.__now) if eventmaster is None or storeset.playerdata.ua_flag: # イベントが発生していない.もしくはユーザアクションを実行済み. self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return # 書き込み. try: db_util.run_in_transaction(self.tr_write, uid, master, self.__now) except CabaretError, err: if err.code == CabaretError.Code.ALREADY_RECEIVED: pass elif err.code == CabaretError.Code.ILLEGAL_ARGS: self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return else: raise
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubuayesno/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 店舗情報. storeset = BackendApi.get_cabaretclub_storeset(model_mgr, uid, mid, using=settings.DB_READONLY) if storeset is None or not storeset.is_alive(self.__now): # 店舗を借りていない. self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return eventmaster = storeset.get_current_eventmaster(self.__now) if eventmaster is None or storeset.playerdata.ua_flag: # イベントが発生していない.もしくはユーザアクションを実行済み. self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return elif eventmaster.ua_type == Defines.CabaClubEventUAType.NONE: # ユーザアクションのないイベント. self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return # スコア情報. scoredata = BackendApi.get_cabaretclub_scoreplayerdata(model_mgr, uid, using=settings.DB_READONLY) obj_cabaclub_management_info = Objects.cabaclub_management_info(self, scoredata) # イベント情報. obj_cabaclubstoreeventmaster = Objects.cabaclubstoreeventmaster(self, eventmaster) # HTML書き込み. self.html_param.update( cabaclubstoreeventmaster = obj_cabaclubstoreeventmaster, cabaclub_management_info = obj_cabaclub_management_info, url_store = self.makeAppLinkUrl(UrlMaker.cabaclubstore(mid)), url_write = self.makeAppLinkUrl(UrlMaker.cabaclubuado(mid)), ) self.writeAppHtml('cabaclub/uayesno')
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubrentyesno/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return # 借りる日数. days = self.request.get(Defines.URLQUERY_DAYS) days = int(days) if days and days.isdigit() else 0 # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 店舗情報. storeset = BackendApi.get_cabaretclub_storeset(model_mgr, uid, mid, using=settings.DB_READONLY) if storeset and (storeset.is_alive(self.__now) or storeset.get_rental_cost(days) is None): # 既に借り入れ済み. self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return # スコア情報. scoredata = BackendApi.get_cabaretclub_scoreplayerdata(model_mgr, uid, using=settings.DB_READONLY) obj_cabaclub_management_info = Objects.cabaclub_management_info(self, scoredata) # 店舗マスター. obj_cabaclubstoremaster = Objects.cabaclubstoremaster(self, master) # 書き込みのURL. url_write = UrlMaker.cabaclubrentdo(mid) url_write = OSAUtil.addQuery(url_write, Defines.URLQUERY_DAYS, days) # HTML書き込み. self.html_param.update( cabaclub_management_info = obj_cabaclub_management_info, cabaclubstoremaster = obj_cabaclubstoremaster, url_write = self.makeAppLinkUrl(url_write), days = days, ) self.writeAppHtml('cabaclub/rentyesno')
def preprocess(self): AppHandler.preprocess(self) model_mgr = self.getModelMgr() v_player = self.getViewerPlayer() # プレーヤーの本日の総売上を取得 eventmaster = BackendApi.get_current_cabaclubrankeventmaster( model_mgr, using=settings.DB_READONLY) if eventmaster: rankingid = CabaClubRankEventMaster.makeID(v_player.id, eventmaster.id) rankmaster = BackendApi.get_model(model_mgr, CabaClubEventRankMaster, rankingid, using=settings.DB_READONLY) self.html_param[ 'today_proceeds'] = rankmaster.today_proceeds if rankmaster else 0 else: self.html_param['today_proceeds'] = 0 self.html_param['url_cabaclub_top'] = self.makeAppLinkUrl( UrlMaker.cabaclubtop())
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubuaend/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return # イベント情報. eventmaster_id = self.request.get(Defines.URLQUERY_ID) eventmaster = None if eventmaster_id and eventmaster_id.isdigit(): eventmaster_id = int(eventmaster_id) eventmaster = BackendApi.get_cabaretclub_event_master(model_mgr, eventmaster_id, using=settings.DB_READONLY) if eventmaster is None: # 存在しないイベント. self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return obj_cabaclubstoreeventmaster = Objects.cabaclubstoreeventmaster(self, eventmaster) # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # スコア情報. scoredata = BackendApi.get_cabaretclub_scoreplayerdata(model_mgr, uid, using=settings.DB_READONLY) obj_cabaclub_management_info = Objects.cabaclub_management_info(self, scoredata) # HTML書き込み. self.html_param.update( cabaclubstoreeventmaster = obj_cabaclubstoreeventmaster, cabaclub_management_info = obj_cabaclub_management_info, url_store = self.makeAppLinkUrl(UrlMaker.cabaclubstore(mid)), ) self.writeAppHtml('cabaclub/uaend')
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubrentend/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master( model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return # 借りる日数. days = self.request.get(Defines.URLQUERY_DAYS) days = int(days) if days and days.isdigit() else 0 # HTML書き込み. self.html_param.update(url_store=self.makeAppLinkUrl( UrlMaker.cabaclubstore(mid)), ) self.writeAppHtml('cabaclub/rentend')
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubcancelyesno/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master( model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 店舗情報. storeset = BackendApi.get_cabaretclub_storeset( model_mgr, uid, mid, using=settings.DB_READONLY) if storeset is None or not storeset.is_alive(self.__now): # 既に解約済み. self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return # 店舗マスター. obj_cabaclubstoremaster = Objects.cabaclubstoremaster(self, master) # 書き込みのURL. url_write = UrlMaker.cabaclubcanceldo(mid) # HTML書き込み. self.html_param.update( cabaclubstoremaster=obj_cabaclubstoremaster, url_write=self.makeAppLinkUrl(url_write), ) self.writeAppHtml('cabaclub/cancelyesno')
def process(self): # 現在時刻. self.__now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 店舗のマスターデータ. args = self.getUrlArgs('/cabaclubeventanim/') mid = args.getInt(0) master = None if mid: master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY) if master is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())) return # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 店舗情報. storeset = BackendApi.get_cabaretclub_storeset(model_mgr, uid, mid, using=settings.DB_READONLY) if storeset is None or not storeset.is_alive(self.__now): # 店舗を借りていない. self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return eventmaster = storeset.get_current_eventmaster(self.__now) if eventmaster is None: # イベントが発生していない. self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid))) return # 閲覧時間の更新. CabaClubRecentlyViewedTime.create(uid, mid, self.__now).save() # 演出用パラメータ. params = dict( backUrl = self.makeAppLinkUrl(UrlMaker.cabaclubstore(mid)), ) # 仮. self.appRedirectToEffect('cb_system/warning/effect.html', params)
def _getJumpUrlPlayCabaclub(self, missionmaster): return UrlMaker.cabaclubtop()
def _getJumpUrlHonorPoint(self, missionmaster): return UrlMaker.cabaclubtop()
def _getJumpUrlCustomerTotal(self, missionmaster): return UrlMaker.cabaclubtop()
def _getJumpUrlProceeds(self, missionmaster): return UrlMaker.cabaclubtop()
def process(self): args = self.getUrlArgs('/cabaclubrank/') current_eventid = args.getInt(0) ope = args.get(1) v_player = self.getViewerPlayer() model_mgr = self.getModelMgr() eventmaster = BackendApi.get_cabaclubrankeventmaster( model_mgr, current_eventid, using=settings.DB_READONLY) if eventmaster is None: url = self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()) self.appRedirect(url) return self.html_param[ 'cabaclub_management_info'] = self.get_cabaclub_management_info( self.getModelMgr(), v_player.id, OSAUtil.get_now()) self.html_param['url_cabaclubrank'] = self.makeAppLinkUrl( UrlMaker.cabaclubrank(eventmaster.id)) self.html_param['url_explain_detail'] = self.makeAppLinkUrl( UrlMaker.cabaclubrank(eventmaster.id, 'detail')) self.html_param['url_explain_prizes'] = self.makeAppLinkUrl( UrlMaker.cabaclubrank(eventmaster.id, 'prizes')) self.html_param['eventmaster'] = eventmaster event_config = BackendApi.get_current_cabaclubrankeventconfig( model_mgr, using=settings.DB_READONLY) self.set_event_period(model_mgr, self.html_param, event_config) table = { 'detail': self.__proc_detail, 'prizes': self.__proc_prizes, } func = table.get(ope) if func: func(eventmaster) return page = int(self.request.get(Defines.URLQUERY_PAGE) or 0) is_view_myrank = int(self.request.get(Defines.URLQUERY_FLAG) or 0) == 1 has_next = False if not CabaClubRanking.exists(current_eventid): # if ranking data isn't present in Redis # fetch the ranking data from the database and store it into Redis BackendApi.backup_ranking_data_into_redis(current_eventid) if is_view_myrank: # fetch user rank data from Redis DB player_rank_list = CabaClubRanking.get_user_rank_page( current_eventid, v_player.id, Handler.CONTENT_NUM_PER_PAGE) else: offset = page * Handler.CONTENT_NUM_PER_PAGE # fetch all players' rank data from Redis DB player_rank_list = CabaClubRanking.get_rankings( current_eventid, offset, Handler.CONTENT_NUM_PER_PAGE, page) # base url urlbase = UrlMaker.cabaclubrank(current_eventid) if player_rank_list: self.setFromPage(Defines.FromPages.CABACLUB_STORE, current_eventid) uidlist = [x['uid'] for x in player_rank_list] playerlist = BackendApi.get_players(self, uidlist=uidlist, using=settings.DB_READONLY) obj_player_dict = dict([ (obj_player['id'], obj_player) for obj_player in self.getObjPlayerList(playerlist, uidlist) ]) for rank_info in player_rank_list: uid = rank_info['uid'] obj_player = obj_player_dict.get(uid) if obj_player: obj_player['is_me'] = uid == v_player.id rank_info.update(obj_player) if not is_view_myrank: number_of_players = CabaClubRanking.get_number_of_players( eventid=current_eventid) self.putPagenation(UrlMaker.cabaclubrank(current_eventid), page, number_of_players, Handler.CONTENT_NUM_PER_PAGE) if Handler.CONTENT_NUM_PER_PAGE == len(player_rank_list): has_next = True # Next page url if has_next: self.html_param['url_page_next'] = self.makeAppLinkUrl( OSAUtil.addQuery(urlbase, Defines.URLQUERY_PAGE, page + 1)) # Previous page url if 0 < page: self.html_param['url_page_prev'] = self.makeAppLinkUrl( OSAUtil.addQuery(urlbase, Defines.URLQUERY_PAGE, page - 1)) url_ranking = OSAUtil.addQuery(urlbase, Defines.URLQUERY_FLAG, "0") url_myrank = OSAUtil.addQuery(urlbase, Defines.URLQUERY_FLAG, "1") self.html_param['url_ranking'] = self.makeAppLinkUrl(url_ranking) self.html_param['url_myrank'] = self.makeAppLinkUrl(url_myrank) self.html_param['is_view_myrank'] = is_view_myrank self.html_param['player_rank_list'] = player_rank_list self.html_param[ 'cabaclub_management_info'] = self.get_cabaclub_management_info( self.getModelMgr(), v_player.id, OSAUtil.get_now()) self.writeAppHtml('cabaclub/rank')