예제 #1
0
파일: movie.py 프로젝트: hitandaway100/caba
 def process(self):
     args = self.getUrlArgs('/albummovie/')
     try:
         mid = int(args.get(0, None))
     except:
         self.__sendErrorResponse()
         return
     
     model_mgr = self.getModelMgr()
     
     # プレイヤー情報.
     v_player = self.getViewerPlayer()
     
     cardmaster = None
     memoriesmaster = BackendApi.get_memoriesmasters([mid], model_mgr, using=settings.DB_READONLY).get(mid)
     if memoriesmaster is not None:
         cardmaster = BackendApi.get_cardmasters([memoriesmaster.cardid], model_mgr, using=settings.DB_READONLY).get(memoriesmaster.cardid)
         card_acquisition = BackendApi.get_cardacquisitions(model_mgr, v_player.id, [cardmaster.id], using=settings.DB_READONLY).get(cardmaster.id)
     if cardmaster is None:
         self.__sendErrorResponse()
         return
     
     # 閲覧時間.
     obj_album = Objects.memoriesmaster(self, memoriesmaster, card_acquisition)
     if not obj_album['acquisition']:
         self.__sendErrorResponse()
         return
     
     # プレイリスト.
     playlistmaster = BackendApi.get_movieplaylist_master(model_mgr, int(memoriesmaster.contentdata), using=settings.DB_READONLY)
     playlist_data = playlistmaster.data.replace('{{url_media__}}', self.url_media)
     
     self.response.set_header('Content-Type', 'application/x-mpegURL')
     self.response.set_status(200)
     self.response.send(playlist_data)
예제 #2
0
    def proc_EVOL00_ALBUM(self, basecard, materialcard):
        """思い出アルバム.
        """
        model_mgr = self.getModelMgr()

        basecard_post, _ = BackendApi.tutorial_evolution(
            model_mgr, basecard, materialcard, using=settings.DB_READONLY)

        v_player = self.getViewerPlayer(True)
        mid = basecard_post.master.id
        memoriesmaster = None
        if self.is_pc:
            memoriesmaster = BackendApi.get_tutorial_pcmemories(
                model_mgr, v_player.ptype, using=settings.DB_READONLY)
        else:
            memoriesmaster = BackendApi.get_tutorial_memories(
                model_mgr, v_player.ptype, using=settings.DB_READONLY)
        card_acquisition = CardAcquisition.makeInstance(
            CardAcquisition.makeID(basecard_post.card.uid, mid))

        self.html_param['cardmaster'] = Objects.cardmaster(
            self, basecard_post.master)
        self.html_param['album'] = Objects.memoriesmaster(
            self, memoriesmaster, card_acquisition)

        memories_list = []
        movie_list = []
        pcmovie_list = []
        for obj_memories in BackendApi.get_album_memories_list(
                self,
                basecard_post.card.uid,
                basecard_post.master.album,
                using=settings.DB_READONLY):
            if obj_memories['contenttype'] == Defines.MemoryContentType.MOVIE:
                movie_list.append(obj_memories)
            elif obj_memories[
                    'contenttype'] == Defines.MemoryContentType.MOVIE_PC:
                pcmovie_list.append(obj_memories)
            else:
                memories_list.append(obj_memories)
        self.html_param['memories_list'] = memories_list
        self.html_param['movie_list'] = movie_list
        self.html_param['pcmovie_list'] = pcmovie_list

        self.html_param['url_next'] = self.makeAppLinkUrl(self.makeUrlNext())

        # 動画閲覧用のキーを保存.
        remote_addr = self.request.remote_addr
        if remote_addr:
            key = '%s##%s' % (remote_addr, self.osa_util.useragent.browser)
            MemoriesSession.create(v_player.id, memoriesmaster.id, key).save()

        self.writeAppHtml('album/memories')
예제 #3
0
    def proc_EVOL00_ANIM(self, basecard, materialcard):
        """ハメ管理合成アニメーション.
        """
        model_mgr = self.getModelMgr()
        params = {
            'card1':
            self.makeAppLinkUrlImg(
                CardUtil.makeThumbnailUrlMiddle(basecard.master)),
            'card2':
            self.makeAppLinkUrlImg(
                CardUtil.makeThumbnailUrlMiddle(materialcard.master)),
            'startText':
            Defines.EffectTextFormat.EVOLUTION_STARTTEXT,
            'backUrl':
            self.makeAppLinkUrl(self.makeUrlNext()),
        }
        basecard_post, _ = BackendApi.tutorial_evolution(
            model_mgr, basecard, materialcard, using=settings.DB_READONLY)
        params['mixCard'] = self.makeAppLinkUrlImg(
            CardUtil.makeThumbnailUrlMiddle(basecard_post.master))
        params['endText'] = Defines.EffectTextFormat.EVOLUTION_ENDTEXT % (
            basecard_post.master.name, basecard_post.master.hklevel - 1,
            basecard_post.card.takeover)
        params[
            'endText2'] = Defines.EffectTextFormat.EVOLUTION_ENDTEXT2 % basecard_post.master.maxlevel
        params['endText3'] = Defines.EffectTextFormat.EVOLUTION_ENDTEXT3_MOVIE

        v_player = self.getViewerPlayer(True)
        mid = basecard_post.master.id
        if self.is_pc:
            memoriesmaster = BackendApi.get_tutorial_pcmemories(
                model_mgr, v_player.ptype, using=settings.DB_READONLY)
        else:
            memoriesmaster = BackendApi.get_tutorial_memories(
                model_mgr, v_player.ptype, using=settings.DB_READONLY)
        card_acquisition = CardAcquisition.makeInstance(
            CardAcquisition.makeID(basecard_post.card.uid, mid))

        obj_memories = Objects.memoriesmaster(self, memoriesmaster,
                                              card_acquisition)
        params['miniCard1'] = obj_memories['thumbUrl']

        self.appRedirectToEffect('gousei/effect.html', params)