def test_save_subtitles(movies, tmpdir, monkeypatch): monkeypatch.chdir(str(tmpdir)) tmpdir.ensure(movies['man_of_steel'].name) subtitle_no_content = Subtitle(Language('eng')) subtitle = Subtitle(Language('fra')) subtitle.content = b'Some content' subtitle_other = Subtitle(Language('fra')) subtitle_other.content = b'Some other content' subtitle_pt_br = Subtitle(Language('por', 'BR')) subtitle_pt_br.content = b'Some brazilian content' subtitles = [subtitle_no_content, subtitle, subtitle_other, subtitle_pt_br] save_subtitles(movies['man_of_steel'], subtitles) # subtitle without content is skipped path = os.path.join( str(tmpdir), os.path.splitext(movies['man_of_steel'].name)[0] + '.en.srt') assert not os.path.exists(path) # first subtitle with language is saved path = os.path.join( str(tmpdir), os.path.splitext(movies['man_of_steel'].name)[0] + '.fr.srt') assert os.path.exists(path) assert io.open(path, 'rb').read() == b'Some content' # ietf language in path path = os.path.join( str(tmpdir), os.path.splitext(movies['man_of_steel'].name)[0] + '.pt-BR.srt') assert os.path.exists(path) assert io.open(path, 'rb').read() == b'Some brazilian content'
def test_save_subtitles(movies, tmpdir, monkeypatch): monkeypatch.chdir(str(tmpdir)) tmpdir.ensure(movies['man_of_steel'].name) subtitle_no_content = Subtitle(Language('eng')) subtitle = Subtitle(Language('fra')) subtitle.content = b'Some content' subtitle_other = Subtitle(Language('fra')) subtitle_other.content = b'Some other content' subtitle_pt_br = Subtitle(Language('por', 'BR')) subtitle_pt_br.content = b'Some brazilian content' subtitles = [subtitle_no_content, subtitle, subtitle_other, subtitle_pt_br] save_subtitles(movies['man_of_steel'], subtitles) # subtitle without content is skipped path = os.path.join(str(tmpdir), os.path.splitext(movies['man_of_steel'].name)[0] + '.en.srt') assert not os.path.exists(path) # first subtitle with language is saved path = os.path.join(str(tmpdir), os.path.splitext(movies['man_of_steel'].name)[0] + '.fr.srt') assert os.path.exists(path) assert io.open(path, 'rb').read() == b'Some content' # ietf language in path path = os.path.join(str(tmpdir), os.path.splitext(movies['man_of_steel'].name)[0] + '.pt-BR.srt') assert os.path.exists(path) assert io.open(path, 'rb').read() == b'Some brazilian content'
def test_save_subtitles_single_directory_encoding(movies, tmpdir): subtitle = Subtitle(Language('jpn')) subtitle.content = u'ハローワールド'.encode('shift-jis') subtitle_pt_br = Subtitle(Language('por', 'BR')) subtitle_pt_br.content = b'Some brazilian content' subtitles = [subtitle, subtitle_pt_br] save_subtitles(movies['man_of_steel'], subtitles, single=True, directory=str(tmpdir), encoding='utf-8') # first subtitle only and correctly encoded path = os.path.join(str(tmpdir), os.path.splitext(os.path.split(movies['man_of_steel'].name)[1])[0] + '.srt') assert os.path.exists(path) assert io.open(path, encoding='utf-8').read() == u'ハローワールド'
def test_save_subtitles_single_directory_encoding(movies, tmpdir): subtitle = Subtitle(Language('jpn')) subtitle.content = u'ハローワールド'.encode('shift-jis') subtitle_pt_br = Subtitle(Language('por', 'BR')) subtitle_pt_br.content = b'Some brazilian content' subtitles = [subtitle, subtitle_pt_br] save_subtitles(movies['man_of_steel'], subtitles, single=True, directory=str(tmpdir), encoding='utf-8') # first subtitle only and correctly encoded path = os.path.join(str(tmpdir), os.path.splitext(os.path.split(movies['man_of_steel'].name)[1])[0] + '.srt') assert os.path.exists(path) assert io.open(path, encoding='utf-8').read() == u'ハローワールド'
def test_subtitle_text_guess_encoding_none(): content = b'\x00d\x00\x80\x00\x00\xff\xff\xff\xff\xff\xff,\x00\x00\x00\x00d\x00d\x00\x00\x02s\x84\x8f\xa9' subtitle = Subtitle(Language('zho'), False, None, None) subtitle.content = content assert subtitle.guess_encoding() is None assert not subtitle.is_valid() assert not isinstance(subtitle.text, six.text_type)
def test_subtitle_text(): subtitle = Subtitle(Language('eng')) subtitle.content = b'Some ascii text' assert subtitle.text == 'Some ascii text'
def test_subtitle_text(): subtitle = Subtitle(Language('eng')) subtitle.content = b'Some ascii text' assert subtitle.text == 'Some ascii text'
def test_subtitle_guess_encoding_utf8(): subtitle = Subtitle(Language('zho'), False, None, None) subtitle.content = b'Something here' assert subtitle.guess_encoding() == 'utf-8' assert isinstance(subtitle.text, six.text_type)