def process(self): args = self.getUrlArgs('/gacharankingprize/') try: mid = int(args.get(0)) is_single = args.get(1) == '1' is_whole = args.get(2) == '1' except: raise CabaretError(u'引数が想定外です', CabaretError.Code.ILLEGAL_ARGS) model_mgr = self.getModelMgr() # マスターデータを確認. gachamaster = BackendApi.get_gachamaster(model_mgr, mid, using=settings.DB_READONLY) gacharankingmaster = None if gachamaster and gachamaster.consumetype == Defines.GachaConsumeType.RANKING: gacharankingmaster = BackendApi.get_rankinggacha_master(model_mgr, gachamaster.boxid, using=settings.DB_READONLY) if gacharankingmaster is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.mypage())) return elif not gacharankingmaster.is_support_totalranking: is_single = True self.__putTabs(gachamaster, gacharankingmaster, is_whole) # ランキングガチャ情報. obj_rankinggacha = Objects.rankinggacha(self, gacharankingmaster) obj_rankinggacha.update({ 'url_wholeprize' : self.makeAppLinkUrl(UrlMaker.gacharankingprize(mid, is_single, True)), 'url_rankprize' : self.makeAppLinkUrl(UrlMaker.gacharankingprize(mid, is_single, False)), }) self.html_param['rankinggacha'] = obj_rankinggacha # 開催中か. self.html_param['is_opened'] = BackendApi.check_schedule(model_mgr, gachamaster.schedule, using=settings.DB_READONLY) # 選択中の情報. self.html_param['is_single'] = is_single # 切り替えリンク. self.html_param['url_ranking'] = self.makeAppLinkUrl(UrlMaker.gacharanking(mid, is_single, False)) self.html_param['url_prize_total'] = self.makeAppLinkUrl(UrlMaker.gacharankingprize(mid, False)) self.html_param['url_prize_single'] = self.makeAppLinkUrl(UrlMaker.gacharankingprize(mid, True)) if is_whole: self.__procWholePointBonus(gacharankingmaster) else: self.__procRankBonus(gacharankingmaster, is_single)
def process(self): args = self.getUrlArgs('/gacharanking/') try: mid = int(args.get(0)) is_single = args.get(1) == '1' is_view_myrank = args.get(2) == '1' except: raise CabaretError(u'引数が想定外です', CabaretError.Code.ILLEGAL_ARGS) model_mgr = self.getModelMgr() # マスターデータを確認. gachamaster = BackendApi.get_gachamaster(model_mgr, mid, using=settings.DB_READONLY) gacharankingmaster = None if gachamaster and gachamaster.consumetype == Defines.GachaConsumeType.RANKING: gacharankingmaster = BackendApi.get_rankinggacha_master( model_mgr, gachamaster.boxid, using=settings.DB_READONLY) if gacharankingmaster is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.mypage())) return elif not gacharankingmaster.is_support_totalranking: is_single = True # ランキングガチャ情報. self.html_param['rankinggacha'] = Objects.rankinggacha( self, gacharankingmaster) # 開催中か. self.html_param['is_opened'] = BackendApi.check_schedule( model_mgr, gachamaster.schedule, using=settings.DB_READONLY) # ランキング. offset = 0 if not is_view_myrank: page = int(self.request.get(Defines.URLQUERY_PAGE) or 0) offset = page * Handler.CONTENT_NUM_PER_PAGE obj_playerlist = self.makeRankingGachaRanking( gachamaster, is_view_myrank, Handler.CONTENT_NUM_PER_PAGE, offset, True, is_single) self.html_param['playerlist'] = obj_playerlist # 選択中の情報. self.html_param['is_view_myrank'] = is_view_myrank self.html_param['is_single'] = is_single # 切り替えリンク. self.html_param['url_ranking_single'] = self.makeAppLinkUrl( UrlMaker.gacharanking(mid, True, False)) self.html_param['url_ranking_total'] = self.makeAppLinkUrl( UrlMaker.gacharanking(mid, False, False)) self.html_param['url_ranking_all'] = self.makeAppLinkUrl( UrlMaker.gacharanking(mid, is_single, False)) self.html_param['url_ranking_myrank'] = self.makeAppLinkUrl( UrlMaker.gacharanking(mid, is_single, True)) self.html_param['url_prize'] = self.makeAppLinkUrl( UrlMaker.gacharankingprize(mid, is_single)) # ページング. if not is_view_myrank: if is_single: contentnum = BackendApi.get_rankinggacha_single_rankernum( gachamaster.boxid) else: contentnum = BackendApi.get_rankinggacha_total_rankernum( gachamaster.boxid) urlbase = UrlMaker.gacharanking(mid, is_single, is_view_myrank) self.putPagenation(urlbase, page, contentnum, Handler.CONTENT_NUM_PER_PAGE) linklist = self.getRankingGachaLinkDataList( gachamaster, gacharankingmaster, lambda x: UrlMaker.gacharanking(x, is_single, is_view_myrank)) self.html_param['same_rankingmaster_linklist'] = linklist self.writeAppHtml('gacha/ranking')