def _translate_lang(self, language, sami_soup): captions = [] milliseconds = 0 for p in sami_soup.select('p[lang|=%s]' % language): milliseconds = int(float(p.parent['start'])) start = milliseconds * 1000 end = 0 if captions != [] and captions[-1].end == 0: captions[-1].end = milliseconds * 1000 if p.get_text().strip(): self.line = [] self._translate_tag(p) text = self.line styles = self._translate_attrs(p) caption = Caption() caption.start = start caption.end = end caption.nodes = text caption.style = styles captions.append(caption) if captions and captions[-1].end == 0: # Arbitrarily make this last 4 seconds. Not ideal... captions[-1].end = (milliseconds + 4000) * 1000 return captions
def _translate_p_tag(self, p_tag): start, end = self._find_times(p_tag) self.nodes = [] self._translate_tag(p_tag) styles = self._translate_style(p_tag) caption = Caption() caption.start = start caption.end = end caption.nodes = self.nodes caption.style = styles return caption