def _process(self, url): log.info(f'Processing {url}') episode = Episode.cached(url) if not episode: return [] tmp_audio_path = utils.convert(file_path=episode.audio_path, extension='.flac') subtitles = Subtitles.from_srt(episode.captions_path) results = [] start = None accum_text = [] for line, next_line in pairwise(subtitles.lines): # log.info(f'Processing {line}') if start is None: start = line.start accum_text.append(line.text) if line.end - start > 10 * 1000: self._save_part(start, line.end, tmp_audio_path, ' '.join(accum_text), results) accum_text = [] start = next_line.start log.info(f'Processed {url}') return results