Esempio n. 1
0
    def process(self):

        args = self.getUrlArgs('/lbsugorokuanim/')
        mid = args.getInt(0)
        page = int(self.request.get(Defines.URLQUERY_PAGE) or 0)
        loginbonus = args.getInt(1)

        model_mgr = self.getModelMgr()
        now = OSAUtil.get_now()

        # プレイヤー情報.
        v_player = self.getViewerPlayer()
        viewer_id = v_player.id

        if BackendApi.check_lead_loginbonus_sugoroku(model_mgr, viewer_id,
                                                     now):
            # まだ受け取っていない.
            if settings_sub.IS_LOCAL:
                raise CabaretError(u'まだ受け取っていない')
            url = self.makeAppLinkUrlRedirect(UrlMaker.loginbonussugorokudo())
            self.appRedirect(url)
            return
        logindata = BackendApi.get_loginbonus_sugoroku_playerdata(
            model_mgr, viewer_id, mid, using=settings.DB_DEFAULT)
        if logindata is None:
            url = self.makeAppLinkUrlRedirect(UrlMaker.mypage())
            self.appRedirect(url)
            return

        squares_id_list = logindata.result.get('square_id_list')
        squares_master_list = BackendApi.get_loginbonus_sugoroku_map_squares_master_list_by_id(
            model_mgr, squares_id_list, using=settings.DB_READONLY)
        squares_master_list.sort(key=lambda x: squares_id_list.index(x.id))
        mapidlist = []
        mapid = None
        for squares_master in squares_master_list:
            if mapid is None or mapid != squares_master.mid:
                mapid = squares_master.mid
                mapidlist.append(mapid)
        page_max = len(mapidlist)
        mapmaster = BackendApi.get_loginbonus_sugoroku_map_master(
            model_mgr, mapidlist[page], using=settings.DB_READONLY)
        # 飛び先のURL.
        if page_max < 2 or page_max <= (page + 1):
            url = self.makeNextEffectUrl(loginbonus,
                                         timelimited=True,
                                         comeback=False,
                                         sugoroku=mid)
            url = self.makeAppLinkUrl(url)
        else:
            url = UrlMaker.loginbonussugorokuanim(mid, loginbonus)
            url = OSAUtil.addQuery(url, Defines.URLQUERY_PAGE, page + 1)
            url = self.makeAppLinkUrl(url)
        dataUrl = self.makeAppLinkUrlEffectParamGet('sugoroku/{}/{}'.format(
            mid, page))
        self.appRedirectToEffect2('{}/effect2.html'.format(
            mapmaster.effectname),
                                  dataUrl,
                                  dataBody=urllib.urlencode(dict(backUrl=url)))
Esempio n. 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')