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)
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')
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)