def process_ep(self, episode): ret = False cls = Cut_List.objects.filter( episode=episode, apply=True).order_by('sequence') if cls: # get list of raw footage for this episode rfs = Raw_File.objects. \ filter(cut_list__episode=episode).\ exclude(trash=True).distinct() # get a .mlt file for this episode (mlt_pathname) # look for custom/slug.mlt and just use it, # else build one from client.template_mlt mlt_pathname = os.path.join( self.show_dir, "custom", "{}.mlt".format(episode.slug)) if os.path.exists(mlt_pathname): print("found custom/slug.mlt:\n{}".format( mlt_pathname )) ret = True else: template_mlt = episode.show.client.template_mlt mlt_pathname = os.path.join(self.show_dir, "mlt", "%s.mlt" % episode.slug) params = self.get_params(episode, rfs, cls ) pprint.pprint(params) print(2, mlt_pathname) ret = mk_mlt( template_mlt, mlt_pathname, params ) if not ret: episode.state = 0 episode.comment += "\nenc.py mlt = self.mkmlt_1 failed.\n" episode.save() return False # do the final encoding: # using melt ret = self.enc_all(mlt_pathname, episode) if self.options.load_temp and self.options.rm_temp: cmds = [] for rf in rfs: dst_path = os.path.join( self.tmp_dir, episode.slug, os.path.dirname(rf.filename)) rawpathname = os.path.join( self.tmp_dir, episode.slug, rf.filename) cmds.append(['rm', rawpathname]) cmds.append(['rmdir', dst_path]) dst_path = os.path.join(self.tmp_dir, episode.slug) cmds.append(['rmdir', dst_path]) self.run_cmds(episode, cmds) else: err_msg = "No cutlist found." episode.state = 0 episode.comment += "\nenc error: %s\n" % (err_msg,) episode.save() print err_msg return False if self.options.test: ret = False # save the episode so the test suite can get the slug self.episode = episode return ret
def process_ep(self, episode): ret = False cls = Cut_List.objects.filter(episode=episode, apply=True).order_by('sequence') if cls: # get list of raw footage for this episode rfs = Raw_File.objects. \ filter(cut_list__episode=episode).\ exclude(trash=True).distinct() # get a .mlt file for this episode (mlt_pathname) # look for custom/slug.mlt and just use it, # else build one from client.template_mlt mlt_pathname = os.path.join(self.show_dir, "custom", "{}.mlt".format(episode.slug)) if os.path.exists(mlt_pathname): print(("found custom/slug.mlt:\n{}".format(mlt_pathname))) ret = True else: template_mlt = os.path.join(self.show_dir, "assets", "mlt", episode.show.client.template_mlt) mlt_pathname = os.path.join(self.show_dir, "mlt", "%s.mlt" % episode.slug) params = self.get_params(episode, rfs, cls) if self.options.verbose: pprint(params) # print((2, mlt_pathname)) ret = mk_mlt(template_mlt, mlt_pathname, params) if params['transcriptions']: # create the slug.srt file for this video sub_pathname = os.path.join(self.show_dir, "transcripts", "{}.srt".format(episode.slug)) subs = self.mk_subs(params['transcriptions'], sub_pathname) if not ret: episode.state = 0 episode.comment += "\nenc.py mlt = self.mkmlt_1 failed.\n" episode.save() return False # do the final encoding: # using melt ret = self.enc_all(mlt_pathname, episode) if self.options.load_temp and self.options.rm_temp: cmds = [] for rf in rfs: dst_path = os.path.join(self.tmp_dir, episode.slug, os.path.dirname(rf.filename)) rawpathname = os.path.join(self.tmp_dir, episode.slug, rf.filename) cmds.append(['rm', rawpathname]) cmds.append(['rmdir', dst_path]) dst_path = os.path.join(self.tmp_dir, episode.slug) cmds.append(['rmdir', dst_path]) self.run_cmds(episode, cmds) connection.connection.close() connection.connection = None else: err_msg = "No cutlist found." episode.state = 0 episode.comment += "\nenc error: %s\n" % (err_msg, ) episode.save() print(err_msg) return False if self.options.test: ret = False # save the episode so the test suite can get the slug self.episode = episode return ret
def process_ep(self, episode): # print episode print episode.name ret = False cls = Cut_List.objects.filter( episode=episode, apply=True).order_by('sequence') # print len(cls), episode.name.__repr__() if cls: """ for cl in cls: print cl.start, cl.end # title and footer were here title_img = self.mk_title(episode) credits_img = episode.show.client.credits \ if episode.show.client.credits \ else 'ndv1-black.png' credits_img = os.path.join( os.path.split(os.path.abspath(__file__))[0], "bling", credits_img) """ # get list of raw footage for this episode rfs = Raw_File.objects. \ filter(cut_list__episode=episode).\ exclude(trash=True).distinct() # cut_list__apply=True).\ # get a .mlt file for this episode (mlt_pathname) # look for custom/slug.mlt and just use it, # else build one from client.template_mlt, else "template.mlt" mlt_pathname = os.path.join(self.work_dir, "custom", "%s.mlt" % episode.slug) if os.path.exists(mlt_pathname): ret = True else: mlt_pathname = os.path.join(self.work_dir, "%s.mlt" % episode.slug) if episode.show.client.template_mlt: template_mlt = episode.show.client.template_mlt else: template_mlt = "template.mlt" params = self.get_params(episode, rfs, cls ) ret = mk_mlt( template_mlt, mlt_pathname, params ) if not ret: episode.state = 0 episode.comment += "\nenc.py mlt = self.mkmlt_1 failed.\n" episode.save() return False # do the final encoding: # using melt ret = self.enc_all(mlt_pathname, episode) if self.options.load_temp and self.options.rm_temp: cmds = [] for rf in rfs: dst_path = os.path.join( self.tmp_dir, episode.slug, os.path.dirname(rf.filename)) rawpathname = os.path.join( self.tmp_dir, episode.slug, rf.filename) cmds.append(['rm', rawpathname]) cmds.append(['rmdir', dst_path]) dst_path = os.path.join(self.tmp_dir, episode.slug) cmds.append(['rmdir', dst_path]) self.run_cmds(episode, cmds) else: err_msg = "No cutlist found." episode.state = 0 episode.comment += "\nenc error: %s\n" % (err_msg,) episode.save() print err_msg return False if self.options.test: ret = False # save the episode so the test suite can get the slug self.episode = episode return ret