Пример #1
0
    def process(self):

        args = self.getUrlArgs('/comebackanim/')
        mid = args.getInt(0)
        loginbonus = args.getInt(1)

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

        # プレイヤー情報.
        v_player = self.getViewerPlayer()
        if not BackendApi.check_loginbonus_received(v_player, now):
            # まだ受け取っていない.
            if settings_sub.IS_LOCAL:
                raise CabaretError(u'まだ受け取っていない')
            url = self.makeAppLinkUrlRedirect(UrlMaker.loginbonus())
            self.appRedirect(url)
            return

        uid = v_player.id

        comebackdata = BackendApi.get_comebackcampaign_userdata(
            model_mgr, uid, mid, using=settings.DB_READONLY)
        if comebackdata is None:
            url = self.makeAppLinkUrlRedirect(UrlMaker.mypage())
            self.appRedirect(url)
            return

        cur_day = comebackdata.days
        master = BackendApi.get_comebackcampaignmaster(
            model_mgr, mid, using=settings.DB_READONLY)
        if master is None:
            url = self.makeAppLinkUrlRedirect(UrlMaker.mypage())
            self.appRedirect(url)
            return

        # 遷移先.
        url = self.makeNextEffectUrl(loginbonus,
                                     timelimited=True,
                                     comeback=mid,
                                     sugoroku=True)

        today_thumb = master.get_thumbnail(cur_day)

        if today_thumb is not None:
            params = {
                'backUrl': self.makeAppLinkUrlSwfEmbed(url),
                'pre': self.url_static_img,
                'i0': today_thumb,
                'has_next': False,
            }
            tomorrow_thumb = master.get_thumbnail(cur_day + 1)
            if tomorrow_thumb is not None:
                params.update(i1=tomorrow_thumb, has_next=True)

            self.appRedirectToEffect('%s/effect.html' % master.effectname,
                                     params)
        else:
            self.appRedirect(self.makeAppLinkUrlRedirect(url))
Пример #2
0
 def check(self):
     model_mgr = ModelRequestMgr()
     playerlogin = PlayerLogin.getByKey(self.__player.id)
     # プレイ日数.
     if playerlogin.pdays != (self.__player.pdays+1):
         raise AppTestError(u'プレイ日数が正しくない')
     # ログインボーナス受取済みフラグ.
     elif not BackendApi.check_loginbonus_received(playerlogin):
         raise AppTestError(u'ログインボーナスを受け取っていない')
     # プレゼント数.
     elif (self.__present_num + 1) != BackendApi.get_present_num(self.__player.id, model_mgr):
         raise AppTestError(u'プレゼントが正しく付与されていない')
Пример #3
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')