コード例 #1
0
ファイル: top.py プロジェクト: hitandaway100/caba
    def procOpened(self):
        """開催中.
        """
        # ユーザの状態チェック.
        if not self.checkBattleEventUser(do_check_battle_open=False,
                                         do_check_emergency=False):
            return

        model_mgr = self.getModelMgr()
        eventid = self.__eventmaster.id
        v_player = self.getViewerPlayer()
        uid = v_player.id

        if BackendApi.check_battleevent_lead_scenario(
                model_mgr, uid, eventid, using=settings.DB_READONLY):
            # 中押し演出を見ていない.
            url = UrlMaker.battleevent_scenario()
            self.appRedirect(self.makeAppLinkUrlRedirect(url))
            return False

        # ランク情報.
        rankrecord = BackendApi.get_battleevent_rankrecord(
            model_mgr, eventid, uid, using=settings.DB_READONLY)
        func_rankinfo = self.makeRankRecordObj(rankrecord,
                                               player_num=2,
                                               do_execute=False)

        # スコア情報.
        scorerecord = BackendApi.get_battleevent_scorerecord(
            model_mgr, eventid, uid, using=settings.DB_READONLY)
        rank_beginer = BackendApi.get_battleevent_rank(eventid,
                                                       uid,
                                                       is_beginer=True)
        obj_scorerecord = self.makeScoreRecordObj(scorerecord,
                                                  rank_beginer=rank_beginer)
        self.html_param['battleevent_score'] = obj_scorerecord

        if func_rankinfo:

            def put_rankinfo():
                obj_rankinfo = func_rankinfo()
                self.html_param['battleevent_rank'] = obj_rankinfo

                # グループ内ランキング報酬.
                prizeinfo = None
                if 0 < obj_scorerecord['point']:
                    grouprank = obj_rankinfo['grouprankingdata']['rank']

                    rankmaster = BackendApi.get_battleevent_rankmaster(
                        model_mgr,
                        eventid,
                        obj_rankinfo['rank'],
                        using=settings.DB_READONLY)
                    if rankmaster:
                        prizeidlist = []
                        for data in rankmaster.group_rankingprizes:
                            if not data.get('prize') or not (data['rank_min']
                                                             <= grouprank <=
                                                             data['rank_max']):
                                continue
                            prizeidlist.extend(data.get('prize'))
                        prizelist = BackendApi.get_prizelist(
                            model_mgr, prizeidlist, using=settings.DB_READONLY)
                        prizeinfo = BackendApi.make_prizeinfo(
                            self, prizelist, using=settings.DB_READONLY)
                self.html_param['prize'] = prizeinfo

            self.addExecuteApiWork(put_rankinfo)

        # グループの詳細へ.
        self.html_param['url_battleevent_group'] = self.makeAppLinkUrl(
            UrlMaker.battleevent_group())

        url = UrlMaker.battleevent_explain(eventid, 'prizes')
        self.html_param['url_prizes_group_ranking'] = self.makeAppLinkUrl(
            OSAUtil.addQuery(url, Defines.URLQUERY_CTYPE, 'group_ranking'))

        # バトルTOPへ.
        self.html_param['url_battleevent_opplist'] = self.makeAppLinkUrl(
            UrlMaker.battleevent_opplist())
コード例 #2
0
    def process(self):
        self.setFromPage(None)
        
        model_mgr = self.getModelMgr()
        
        v_player = self.getViewerPlayer()
        if not BackendApi.check_loginbonus_received(v_player.getModel(PlayerLogin)):
            if not settings_sub.IS_BENCH:
                # ログインボーナスを受け取っていない.
                url = UrlMaker.loginbonus()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_lead_loginbonustimelimited(model_mgr, v_player.id):
            if not settings_sub.IS_BENCH:
                # ロングログインボーナスを受け取っていない.
                url = UrlMaker.loginbonustimelimiteddo()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_lead_loginbonus_sugoroku(model_mgr, v_player.id):
            if not settings_sub.IS_BENCH:
                # 双六ログインボーナスを受け取っていない.
                url = UrlMaker.loginbonussugorokudo()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_raidevent_lead_opening(model_mgr, v_player.id, using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # イベントOPを見ないといけない.
                url = UrlMaker.raidevent_opening()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_raidevent_lead_bigboss(model_mgr, v_player.id, using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # 大ボス演出を見ないといけない.
                url = UrlMaker.raidevent_bigboss()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_raidevent_lead_epilogue(model_mgr, v_player.id, using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # イベントEDを見ないといけない.
                url = UrlMaker.raidevent_epilogue()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_scoutevent_lead_opening(model_mgr, v_player.id, using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # イベントOPを見ないといけない.
                url = UrlMaker.scoutevent_opening()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_scoutevent_lead_epilogue(model_mgr, v_player.id, using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # イベントEDを見ないといけない.
                url = UrlMaker.scoutevent_epilogue()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_battleevent_lead_opening(model_mgr, v_player.id, using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # イベントOPを見ないといけない.
                url = UrlMaker.battleevent_opening()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_battleevent_lead_scenario(model_mgr, v_player.id, using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # 中押し演出を見ていない.
                url = UrlMaker.battleevent_scenario()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return False
        elif BackendApi.check_battleevent_lead_epilogue(model_mgr, v_player.id, using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # イベントエピローグを見ないといけない.
                url = UrlMaker.battleevent_epilogue()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_produceevent_lead_opening(model_mgr, v_player.id, using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # イベントOPを見ないといけない.
                url = UrlMaker.produceevent_opening()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_produceevent_lead_epilogue(model_mgr, v_player.id, using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # イベントEDを見ないといけない.
                url = UrlMaker.produceevent_epilogue()
                self.appRedirect(self.makeAppLinkUrlRedirect(url))
                return
        elif BackendApi.check_cabaclub_lead_resultanim(model_mgr, v_player.id, OSAUtil.get_now(), using=settings.DB_READONLY):
            if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')):
                # 店舗結果演出へ.
                self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubresultanim(), add_frompage=False))
                return
        
        self.__news_num = 0
        
        self.checkPanelMission()
        if self.response.isEnd:
            return
        
        self.procRankingGacha()
        self.checkPresentEveryone()
        self.checkLevelUpBonus()
        self.putCardInfo()
        self.putFriendNum()
        self.putFriendRequestNum()
        self.putFreeGachaFlag()
        self.putPresentNum()
        self.putFriendLog()
        self.putFriendAcceptNum()
        self.putProduceInfo()
        self.putHappeningInfo()
        self.prepareRaidLog()
        self.putInfomations()
        self.putGreetLog()
        self.putBanner()
        self.putCabaClubInfo()
        self.putTitleInfo()
        self.putPlayerInfo()
        self.putRaidLog()
        
        self.checkPaymentRecord()
        
        self.tradeScoutGum()
        
        if self.is_active_dxp():
            self.check_offerwall(model_mgr, v_player)

        self.html_param['news_num'] = self.__news_num
        
        self.html_param['profile_tag'] = self.makeProfileTag(v_player.id)
        
        self.html_param['url_infospace'] = u'%s#infospace' % self.makeAppLinkUrl(UrlMaker.mypage())
        
        if self.is_active_dxp() and not self.is_pc:
            self.html_param['url_offerwall'] = DXPAPI(is_rel=self.is_rel).offerwall_url(self.app_id, v_player.dmmid)
            self.html_param['url_offerwallR18'] = DXPAPI(is_rel=self.is_rel,is_R18=True).offerwall_url(self.app_id, v_player.dmmid)
        print DXPAPI(is_rel=self.is_rel).offerwall_url(self.app_id, v_player.dmmid)
        print DXPAPI(is_rel=self.is_rel,is_R18=True).offerwall_url(self.app_id, v_player.dmmid)
        self.putPopupBanner()
        
        self.writeAppHtml('mypage')