diff --git a/docs/user/how_it_works.rst b/docs/user/how_it_works.rst index fd845cf38..e321c48e4 100644 --- a/docs/user/how_it_works.rst +++ b/docs/user/how_it_works.rst @@ -48,4 +48,4 @@ Various libraries are used by subliminal and are key to its success: * `dogpile.cache `_ to cache intermediate search results * `stevedore `_ to manage the provider entry point * `chardet `_ to detect subtitles' encoding -* `pysrt `_ to validate downloaded subtitles +* `srt `_ to validate downloaded subtitles diff --git a/setup.py b/setup.py index 99fa55d62..3b60a42c6 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ def find_version(*file_paths): install_requirements = ['guessit>=3.0.0', 'babelfish>=0.5.2', 'enzyme>=0.4.1', 'beautifulsoup4>=4.4.0', 'requests>=2.0', 'click>=4.0', 'dogpile.cache>=0.6.0', 'stevedore>=1.20.0', - 'chardet>=2.3.0', 'pysrt>=1.0.1', 'six>=1.9.0', 'appdirs>=1.3', 'rarfile>=2.7', + 'chardet>=2.3.0', 'srt>=3.5.0', 'six>=1.9.0', 'appdirs>=1.3', 'rarfile>=2.7', 'pytz>=2012c'] if sys.version_info < (3, 2): install_requirements.append('futures>=3.0') diff --git a/subliminal/subtitle.py b/subliminal/subtitle.py index 0bea6f2a7..00776765e 100644 --- a/subliminal/subtitle.py +++ b/subliminal/subtitle.py @@ -4,7 +4,7 @@ import os import chardet -import pysrt +import srt from six import text_type @@ -95,10 +95,9 @@ def is_valid(self): return False try: - pysrt.from_string(self.text, error_handling=pysrt.ERROR_RAISE) - except pysrt.Error as e: - if e.args[0] < 80: - return False + srt.parse(self.text) + except srt.SRTParseError: + return False return True