def extract_vupload(self): title = safe_basename(self._current_meta['title']) file_list = glob( os.path.join(self.folder, self._current_part, self._current_meta['type_tag'], '*')) ext_list = [f[-4:] for f in file_list] # try: # uploader = '[{}]'.format(self.get_uploader()) # except BilibiliError: # uploader = '' uploader = '[{}]'.format(self.get_uploader() or 'NA') output = os.path.join(self.work_dir, '{} [av{}]{}'.format(title, self.id, uploader)) if len(self.part_list) >= 2: part_title = safe_basename(self._current_meta['page_data']['part']) output += '{}-{}.mp4'.format(self._current_part, part_title) else: output += '.mp4' safe_print(output) if '.m4s' in ext_list: m4s_list = [f for f in file_list if f[-4:] == '.m4s'] merge_m4s(m4s_list, output) elif '.blv' in ext_list: blv_list = [f for f in file_list if f[-4:] == '.blv'] concat_videos(blv_list, output) else: print(' NO MEDIA STREAM FOUND') shutil.copy2( os.path.join(self.folder, self._current_part, 'danmaku.xml'), output[:-3] + 'xml')
def handle_bangumi(self): title = safe_basename(self.entry['title']) blv_list = glob( os.path.join(self.folder, self.part, self.entry['type_tag'], '*.blv')) part_title = safe_basename(self.entry['ep']['index_title']) av_id = self.entry['ep']['av_id'] ep_num = self.entry['ep']['index'] output_dir = os.path.join( self.work_dir, '{} [av{}][{}]'.format(title, av_id, self.id)) if not os.path.isdir(output_dir): os.mkdir(output_dir) output = os.path.join( output_dir, '{}. {}.mp4'.format( str(ep_num).zfill(len(str(self.part_sum))), part_title)) safe_print(output) concat_videos(blv_list, output) shutil.copy2(os.path.join(self.folder, self.part, 'danmaku.xml'), output[:-3] + 'xml')
def handle_vupload(self): title = safe_basename(self.entry['title']) blv_list = glob( os.path.join(self.folder, self.part, self.entry['type_tag'], '*.blv')) try: uploader = self.get_uploader() except BilibiliError: uploader = 'na' output = os.path.join(self.work_dir, '{} [av{}][{}]'.format(title, self.id, uploader)) if len(self.part_list) >= 2: part_title = safe_basename(self.entry['page_data']['part']) output += '{}-{}.mp4'.format(self.part, part_title) else: output += '.mp4' safe_print(output) concat_videos(blv_list, output) shutil.copy2(os.path.join(self.folder, self.part, 'danmaku.xml'), output[:-3] + 'xml')