subliminal 2.1.0__tar.gz → 2.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- subliminal-2.2.0/.dockerignore +68 -0
- subliminal-2.2.0/.pre-commit-config.yaml +33 -0
- subliminal-2.2.0/.readthedocs.yaml +19 -0
- subliminal-2.2.0/CONTRIBUTING.md +19 -0
- subliminal-2.2.0/Dockerfile +33 -0
- {subliminal-2.1.0 → subliminal-2.2.0}/HISTORY.rst +38 -0
- subliminal-2.2.0/MANIFEST.in +13 -0
- subliminal-2.2.0/PKG-INFO +518 -0
- {subliminal-2.1.0 → subliminal-2.2.0}/README.rst +1 -1
- subliminal-2.2.0/docs/Makefile +192 -0
- subliminal-2.2.0/docs/api/cache.rst +21 -0
- subliminal-2.2.0/docs/api/cli.rst +3 -0
- subliminal-2.2.0/docs/api/core.rst +7 -0
- subliminal-2.2.0/docs/api/exceptions.rst +3 -0
- subliminal-2.2.0/docs/api/extensions.rst +3 -0
- subliminal-2.2.0/docs/api/providers.rst +38 -0
- subliminal-2.2.0/docs/api/refiners.rst +25 -0
- subliminal-2.2.0/docs/api/score.rst +3 -0
- subliminal-2.2.0/docs/api/subtitle.rst +7 -0
- subliminal-2.2.0/docs/api/utils.rst +3 -0
- subliminal-2.2.0/docs/api/video.rst +7 -0
- subliminal-2.2.0/docs/cassettes/test_usage.yaml +566 -0
- subliminal-2.2.0/docs/conf.py +316 -0
- subliminal-2.2.0/docs/config.toml +26 -0
- subliminal-2.2.0/docs/conftest.py +32 -0
- subliminal-2.2.0/docs/index.rst +52 -0
- subliminal-2.2.0/docs/make.bat +263 -0
- subliminal-2.2.0/docs/user/cli.rst +18 -0
- subliminal-2.2.0/docs/user/how_it_works.rst +51 -0
- subliminal-2.2.0/docs/user/provider_guide.rst +96 -0
- subliminal-2.2.0/docs/user/usage.rst +159 -0
- subliminal-2.2.0/pyproject.toml +263 -0
- subliminal-2.2.0/setup.cfg +4 -0
- subliminal-2.2.0/subliminal/__init__.py +62 -0
- subliminal-2.2.0/subliminal/cache.py +32 -0
- subliminal-2.2.0/subliminal/cli.py +597 -0
- subliminal-2.2.0/subliminal/converters/__init__.py +7 -0
- subliminal-2.2.0/subliminal/converters/addic7ed.py +60 -0
- subliminal-2.2.0/subliminal/converters/opensubtitlescom.py +50 -0
- subliminal-2.2.0/subliminal/converters/shooter.py +37 -0
- subliminal-2.2.0/subliminal/converters/thesubdb.py +50 -0
- subliminal-2.2.0/subliminal/converters/tvsubtitles.py +43 -0
- {subliminal-2.1.0 → subliminal-2.2.0}/subliminal/core.py +226 -108
- {subliminal-2.1.0 → subliminal-2.2.0}/subliminal/exceptions.py +15 -1
- subliminal-2.2.0/subliminal/extensions.py +155 -0
- {subliminal-2.1.0 → subliminal-2.2.0}/subliminal/matches.py +82 -42
- {subliminal-2.1.0 → subliminal-2.2.0}/subliminal/providers/__init__.py +107 -31
- subliminal-2.2.0/subliminal/providers/addic7ed.py +633 -0
- subliminal-2.2.0/subliminal/providers/gestdown.py +422 -0
- subliminal-2.2.0/subliminal/providers/napiprojekt.py +176 -0
- subliminal-2.2.0/subliminal/providers/opensubtitles.py +434 -0
- subliminal-2.2.0/subliminal/providers/opensubtitlescom.py +849 -0
- subliminal-2.2.0/subliminal/providers/podnapisi.py +252 -0
- subliminal-2.2.0/subliminal/providers/tvsubtitles.py +332 -0
- {subliminal-2.1.0 → subliminal-2.2.0}/subliminal/refiners/__init__.py +1 -1
- subliminal-2.2.0/subliminal/refiners/hash.py +156 -0
- subliminal-2.2.0/subliminal/refiners/metadata.py +113 -0
- subliminal-2.2.0/subliminal/refiners/omdb.py +321 -0
- subliminal-2.2.0/subliminal/refiners/tmdb.py +339 -0
- subliminal-2.2.0/subliminal/refiners/tvdb.py +482 -0
- subliminal-2.2.0/subliminal/score.py +404 -0
- subliminal-2.2.0/subliminal/subtitle.py +478 -0
- subliminal-2.2.0/subliminal/utils.py +183 -0
- subliminal-2.2.0/subliminal/video.py +479 -0
- subliminal-2.2.0/subliminal.egg-info/PKG-INFO +518 -0
- subliminal-2.2.0/subliminal.egg-info/SOURCES.txt +268 -0
- {subliminal-2.1.0 → subliminal-2.2.0}/subliminal.egg-info/entry_points.txt +6 -6
- subliminal-2.2.0/subliminal.egg-info/requires.txt +40 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_download_subtitle.yaml +8470 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_id.yaml +5066 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_id_country.yaml +5066 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_id_quote_dots_mixed_case.yaml +5065 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_id_with_comma.yaml +5066 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_id_year.yaml +5066 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_ids.yaml +5066 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_list_subtitles.yaml +8013 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_list_subtitles_episode_alternative_series.yaml +10986 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_list_subtitles_show_with_asterisk.yaml +10934 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_login.yaml +60 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_logout.yaml +61 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_query.yaml +8013 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_query_no_year.yaml +5190 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_query_parsing.yaml +7635 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_query_parsing_colon.yaml +5912 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_query_parsing_dash.yaml +6037 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_query_parsing_quote_dots_mixed_case.yaml +2157 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_query_wrong_series.yaml +82 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_query_year.yaml +5856 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id.yaml +637 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id_error.yaml +120 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id_incomplete.yaml +640 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id_no_year.yaml +584 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id_quote.yaml +611 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id_year.yaml +311 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_ids_quote_dots_mixed_case.yaml +634 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_ids_with_comma.yaml +287 -0
- subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_ids_with_country.yaml +826 -0
- subliminal-2.2.0/tests/cassettes/core/test_download_bad_subtitle.yaml +790 -0
- subliminal-2.2.0/tests/cassettes/core/test_download_best_subtitles.yaml +953 -0
- subliminal-2.2.0/tests/cassettes/core/test_download_best_subtitles_min_score.yaml +116 -0
- subliminal-2.2.0/tests/cassettes/core/test_download_best_subtitles_only_one.yaml +557 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_download_subtitle.yaml +564 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_download_with_bom.yaml +578 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_get_title_and_show_id_alternative_name.yaml +105 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_get_title_and_show_id_no_year.yaml +54 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_get_title_and_show_id_only_title.yaml +56 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_get_title_and_show_id_with_tvdb_id.yaml +55 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_list_subtitles.yaml +165 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_list_subtitles_episode_alternative_series.yaml +176 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_query.yaml +110 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_query_all_series.yaml +134 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_query_no_language.yaml +57 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_query_parsing.yaml +108 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_query_parsing_colon.yaml +108 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_query_parsing_dash.yaml +108 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_query_parsing_quote_dots_mixed_case.yaml +109 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_query_wrong_series.yaml +48 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_id.yaml +55 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_id_error.yaml +52 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_id_incomplete.yaml +55 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_id_no_year.yaml +55 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_id_quote.yaml +55 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_series_tvdb_id.yaml +57 -0
- subliminal-2.2.0/tests/cassettes/gestdown/test_show_with_asterisk.yaml +162 -0
- subliminal-2.2.0/tests/cassettes/napiprojekt/test_download_subtitles.yaml +865 -0
- subliminal-2.2.0/tests/cassettes/napiprojekt/test_list_subtitles.yaml +439 -0
- subliminal-2.2.0/tests/cassettes/napiprojekt/test_query_microdvd.yaml +865 -0
- subliminal-2.2.0/tests/cassettes/napiprojekt/test_query_srt.yaml +818 -0
- subliminal-2.2.0/tests/cassettes/napiprojekt/test_query_srt_reencode.yaml +1034 -0
- subliminal-2.2.0/tests/cassettes/napiprojekt/test_query_wrong_hash.yaml +43 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_get_id.yaml +61 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_get_title.yaml +61 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_get_wrong_id.yaml +52 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_get_wrong_title.yaml +52 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_refine_episode.yaml +53 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_refine_episode_original_series.yaml +295 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_refine_episode_with_country.yaml +56 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_refine_episode_with_country_hoc_us.yaml +54 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_refine_episode_year.yaml +58 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_refine_movie.yaml +178 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_refine_movie_guess_alternative_title.yaml +52 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_search.yaml +61 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_search_page.yaml +61 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_search_type.yaml +61 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_search_wrong_title.yaml +52 -0
- subliminal-2.2.0/tests/cassettes/omdb/test_search_year.yaml +61 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_download_subtitle.yaml +1370 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_list_subtitles_episode.yaml +473 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_list_subtitles_movie.yaml +689 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_list_subtitles_movie_no_hash.yaml +458 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_login_bad_password.yaml +115 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_login_vip_bad_password.yaml +115 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_login_vip_login.yaml +115 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_no_operation.yaml +388 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_hash_size.yaml +474 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_imdb_id.yaml +452 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_not_enough_information.yaml +293 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_query_episode.yaml +446 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_query_movie.yaml +471 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_query_season_episode.yaml +450 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_tag_movie.yaml +414 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_wrong_hash_wrong_size.yaml +422 -0
- subliminal-2.2.0/tests/cassettes/opensubtitles/test_tag_match.yaml +532 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_download_subtitle.yaml +2140 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_list_subtitles_episode.yaml +350 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_list_subtitles_movie.yaml +781 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_list_subtitles_movie_no_hash.yaml +162 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_login.yaml +103 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_login_bad_password.yaml +98 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_logout.yaml +103 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_hash_size.yaml +205 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_imdb_id.yaml +183 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_query_episode.yaml +382 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_query_movie.yaml +173 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_query_season_episode.yaml +334 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_tag_movie.yaml +164 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_wrong_hash_wrong_size.yaml +116 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_tag_match.yaml +529 -0
- subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_user_infos.yaml +202 -0
- subliminal-2.2.0/tests/cassettes/podnapisi/test_download_subtitle.yaml +1039 -0
- subliminal-2.2.0/tests/cassettes/podnapisi/test_download_subtitles_with_title_unicode.yaml +1020 -0
- subliminal-2.2.0/tests/cassettes/podnapisi/test_list_subtitles_episode.yaml +515 -0
- subliminal-2.2.0/tests/cassettes/podnapisi/test_list_subtitles_episode_alternative_series.yaml +367 -0
- subliminal-2.2.0/tests/cassettes/podnapisi/test_list_subtitles_movie.yaml +438 -0
- subliminal-2.2.0/tests/cassettes/podnapisi/test_query_episode.yaml +174 -0
- subliminal-2.2.0/tests/cassettes/podnapisi/test_query_movie.yaml +362 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_get_movie_id.yaml +155 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_get_movie_id_failed.yaml +65 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_get_series_id.yaml +72 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_get_series_wrong_id.yaml +65 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_refine_episode.yaml +305 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_refine_episode_original_series.yaml +305 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_refine_episode_with_country.yaml +302 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_refine_episode_with_country_hoc_us.yaml +244 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_refine_episode_year.yaml +210 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_refine_movie.yaml +222 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_refine_movie_guess_alternative_title.yaml +130 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_search_movie.yaml +155 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_search_movie_page.yaml +148 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_search_movie_wrong_title.yaml +65 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_search_movie_year.yaml +71 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_search_series.yaml +72 -0
- subliminal-2.2.0/tests/cassettes/tmdb/test_search_series_wrong_name.yaml +65 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_get_series.yaml +109 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_get_series_actors.yaml +126 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_get_series_actors_wrong_id.yaml +100 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_get_series_wrong_id.yaml +100 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_login.yaml +50 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_login_error.yaml +52 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_query_series_episodes.yaml +111 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_query_series_episodes_wrong_season.yaml +100 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refine.yaml +287 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refine_ambiguous.yaml +476 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refine_ambiguous_2.yaml +857 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_alternative_series.yaml +232 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_no_year.yaml +537 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_partial.yaml +496 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_with_comma.yaml +254 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_with_country.yaml +325 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_with_country_hoc_us.yaml +257 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_year.yaml +535 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_refresh_token.yaml +100 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_search_series.yaml +104 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_search_series_wrong_name.yaml +100 -0
- subliminal-2.2.0/tests/cassettes/tvdb/test_token_needs_refresh.yaml +50 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_download_subtitle.yaml +1650 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_download_subtitle_with_quote.yaml +1669 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_get_episode_ids.yaml +901 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_get_episode_ids_wrong_season.yaml +225 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_list_subtitles.yaml +1323 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_list_subtitles_episode_alternative_series.yaml +914 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_query.yaml +1323 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_query_no_year.yaml +743 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_query_with_quote.yaml +1198 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_query_wrong_episode.yaml +898 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_query_wrong_series.yaml +219 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id.yaml +233 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_ambiguous.yaml +418 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_error.yaml +235 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_incomplete.yaml +234 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_no_year.yaml +222 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_uk.yaml +234 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_us.yaml +305 -0
- subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_year_in_title.yaml +222 -0
- subliminal-2.2.0/tests/conftest.py +492 -0
- subliminal-2.2.0/tests/providers/test_addic7ed.py +630 -0
- subliminal-2.2.0/tests/providers/test_gestdown.py +432 -0
- subliminal-2.2.0/tests/providers/test_napiprojekt.py +116 -0
- subliminal-2.2.0/tests/providers/test_opensubtitles.py +475 -0
- subliminal-2.2.0/tests/providers/test_opensubtitlescom.py +456 -0
- subliminal-2.2.0/tests/providers/test_podnapisi.py +283 -0
- subliminal-2.2.0/tests/providers/test_tvsubtitles.py +339 -0
- subliminal-2.2.0/tests/refiners/test_hash.py +19 -0
- subliminal-2.2.0/tests/refiners/test_omdb.py +197 -0
- subliminal-2.2.0/tests/refiners/test_tmdb.py +216 -0
- subliminal-2.2.0/tests/refiners/test_tvdb.py +373 -0
- subliminal-2.2.0/tests/test_cache.py +46 -0
- subliminal-2.2.0/tests/test_core.py +704 -0
- subliminal-2.2.0/tests/test_extensions.py +80 -0
- subliminal-2.2.0/tests/test_matches.py +143 -0
- subliminal-2.2.0/tests/test_provider.py +51 -0
- subliminal-2.2.0/tests/test_score.py +142 -0
- subliminal-2.2.0/tests/test_subtitle.py +163 -0
- subliminal-2.2.0/tests/test_utils.py +5 -0
- subliminal-2.2.0/tests/test_video.py +179 -0
- subliminal-2.2.0/tox.ini +7 -0
- subliminal-2.1.0/MANIFEST.in +0 -1
- subliminal-2.1.0/PKG-INFO +0 -445
- subliminal-2.1.0/requirements.txt +0 -1
- subliminal-2.1.0/setup.cfg +0 -15
- subliminal-2.1.0/setup.py +0 -104
- subliminal-2.1.0/subliminal/__init__.py +0 -21
- subliminal-2.1.0/subliminal/cache.py +0 -37
- subliminal-2.1.0/subliminal/cli.py +0 -498
- subliminal-2.1.0/subliminal/converters/addic7ed.py +0 -32
- subliminal-2.1.0/subliminal/converters/legendastv.py +0 -27
- subliminal-2.1.0/subliminal/converters/shooter.py +0 -23
- subliminal-2.1.0/subliminal/converters/thesubdb.py +0 -26
- subliminal-2.1.0/subliminal/converters/tvsubtitles.py +0 -25
- subliminal-2.1.0/subliminal/extensions.py +0 -114
- subliminal-2.1.0/subliminal/providers/addic7ed.py +0 -313
- subliminal-2.1.0/subliminal/providers/argenteam.py +0 -135
- subliminal-2.1.0/subliminal/providers/legendastv.py +0 -514
- subliminal-2.1.0/subliminal/providers/napiprojekt.py +0 -111
- subliminal-2.1.0/subliminal/providers/opensubtitles.py +0 -294
- subliminal-2.1.0/subliminal/providers/podnapisi.py +0 -178
- subliminal-2.1.0/subliminal/providers/shooter.py +0 -86
- subliminal-2.1.0/subliminal/providers/thesubdb.py +0 -92
- subliminal-2.1.0/subliminal/providers/tvsubtitles.py +0 -216
- subliminal-2.1.0/subliminal/refiners/hash.py +0 -44
- subliminal-2.1.0/subliminal/refiners/metadata.py +0 -99
- subliminal-2.1.0/subliminal/refiners/omdb.py +0 -193
- subliminal-2.1.0/subliminal/refiners/tvdb.py +0 -372
- subliminal-2.1.0/subliminal/score.py +0 -258
- subliminal-2.1.0/subliminal/subtitle.py +0 -214
- subliminal-2.1.0/subliminal/utils.py +0 -208
- subliminal-2.1.0/subliminal/video.py +0 -266
- subliminal-2.1.0/subliminal.egg-info/PKG-INFO +0 -445
- subliminal-2.1.0/subliminal.egg-info/SOURCES.txt +0 -45
- subliminal-2.1.0/subliminal.egg-info/requires.txt +0 -31
- {subliminal-2.1.0 → subliminal-2.2.0}/LICENSE +0 -0
- /subliminal-2.1.0/subliminal/converters/__init__.py → /subliminal-2.2.0/subliminal/py.typed +0 -0
- {subliminal-2.1.0 → subliminal-2.2.0}/subliminal.egg-info/dependency_links.txt +0 -0
- {subliminal-2.1.0 → subliminal-2.2.0}/subliminal.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# SCM
|
|
2
|
+
.git/
|
|
3
|
+
|
|
4
|
+
# Byte-compiled / optimized / DLL files
|
|
5
|
+
__pycache__/
|
|
6
|
+
*.py[cod]
|
|
7
|
+
*$py.class
|
|
8
|
+
|
|
9
|
+
# C extensions
|
|
10
|
+
*.so
|
|
11
|
+
|
|
12
|
+
# Distribution / packaging
|
|
13
|
+
.Python
|
|
14
|
+
env/
|
|
15
|
+
build/
|
|
16
|
+
develop-eggs/
|
|
17
|
+
dist/
|
|
18
|
+
downloads/
|
|
19
|
+
eggs/
|
|
20
|
+
.eggs/
|
|
21
|
+
lib/
|
|
22
|
+
lib64/
|
|
23
|
+
parts/
|
|
24
|
+
sdist/
|
|
25
|
+
var/
|
|
26
|
+
*.egg-info/
|
|
27
|
+
.installed.cfg
|
|
28
|
+
*.egg
|
|
29
|
+
|
|
30
|
+
# PyInstaller
|
|
31
|
+
# Usually these files are written by a python script from a template
|
|
32
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
33
|
+
*.manifest
|
|
34
|
+
*.spec
|
|
35
|
+
|
|
36
|
+
# Installer logs
|
|
37
|
+
pip-log.txt
|
|
38
|
+
pip-delete-this-directory.txt
|
|
39
|
+
|
|
40
|
+
# Unit test / coverage reports
|
|
41
|
+
htmlcov/
|
|
42
|
+
.tox/
|
|
43
|
+
.coverage
|
|
44
|
+
.coverage.*
|
|
45
|
+
.cache
|
|
46
|
+
nosetests.xml
|
|
47
|
+
coverage.xml
|
|
48
|
+
*,cover
|
|
49
|
+
|
|
50
|
+
# Translations
|
|
51
|
+
*.mo
|
|
52
|
+
*.pot
|
|
53
|
+
|
|
54
|
+
# Django stuff:
|
|
55
|
+
*.log
|
|
56
|
+
|
|
57
|
+
# Sphinx documentation
|
|
58
|
+
docs/_build/
|
|
59
|
+
|
|
60
|
+
# PyBuilder
|
|
61
|
+
target/
|
|
62
|
+
|
|
63
|
+
# Pycharm
|
|
64
|
+
.idea
|
|
65
|
+
|
|
66
|
+
# Subliminal
|
|
67
|
+
docs/
|
|
68
|
+
tests/
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: v4.5.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: check-toml
|
|
6
|
+
- id: check-yaml
|
|
7
|
+
exclude: ^tests/cassettes/
|
|
8
|
+
- id: end-of-file-fixer
|
|
9
|
+
|
|
10
|
+
- repo: https://github.com/crate-ci/typos
|
|
11
|
+
rev: v1.22.0
|
|
12
|
+
hooks:
|
|
13
|
+
- id: typos
|
|
14
|
+
|
|
15
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
16
|
+
rev: v0.4.7
|
|
17
|
+
hooks:
|
|
18
|
+
- id: ruff
|
|
19
|
+
args: [ --fix, --unsafe-fixes ]
|
|
20
|
+
- id: ruff-format
|
|
21
|
+
|
|
22
|
+
- repo: https://github.com/abravalheri/validate-pyproject
|
|
23
|
+
rev: v0.18
|
|
24
|
+
hooks:
|
|
25
|
+
- id: validate-pyproject
|
|
26
|
+
name: validate-pyproject
|
|
27
|
+
|
|
28
|
+
- repo: https://github.com/PyCQA/doc8
|
|
29
|
+
rev: v1.1.1
|
|
30
|
+
hooks:
|
|
31
|
+
- id: doc8
|
|
32
|
+
description: This hook runs doc8 for linting docs
|
|
33
|
+
require_serial: true
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Read the Docs configuration file for Sphinx projects
|
|
2
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
3
|
+
|
|
4
|
+
version: 2
|
|
5
|
+
|
|
6
|
+
build:
|
|
7
|
+
os: ubuntu-22.04
|
|
8
|
+
tools:
|
|
9
|
+
python: "3.12"
|
|
10
|
+
|
|
11
|
+
python:
|
|
12
|
+
install:
|
|
13
|
+
- method: pip
|
|
14
|
+
path: .
|
|
15
|
+
extra_requirements:
|
|
16
|
+
- docs
|
|
17
|
+
|
|
18
|
+
sphinx:
|
|
19
|
+
configuration: docs/conf.py
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Contributing
|
|
2
|
+
============
|
|
3
|
+
|
|
4
|
+
Issues
|
|
5
|
+
------
|
|
6
|
+
Issues are intended for bug report and feature requests. For any bug report please make sure to include the complete
|
|
7
|
+
stack trace and DEBUG level logs as well as reproduce steps.
|
|
8
|
+
|
|
9
|
+
If you use the CLI, you can create a debug log file with `subliminal --debug [...] 2> debug.log`.
|
|
10
|
+
|
|
11
|
+
Pull Requests
|
|
12
|
+
-------------
|
|
13
|
+
You can contribute code and documentation with pull requests. Any code contribution must be unit tested and the pull
|
|
14
|
+
request open against the *develop* branch.
|
|
15
|
+
|
|
16
|
+
Translations
|
|
17
|
+
------------
|
|
18
|
+
Contribution to translations can be made on [subliminal's transifex page](https://www.transifex.com/subliminal/subliminal/)
|
|
19
|
+
Subliminal is configured to work with [transifex-client](http://docs.transifex.com/client/)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
FROM python:3.12-alpine
|
|
2
|
+
|
|
3
|
+
MAINTAINER Antoine Bertin <diaoulael@gmail.com>
|
|
4
|
+
|
|
5
|
+
# set version label
|
|
6
|
+
ARG BUILD_WITH_UNRAR=false
|
|
7
|
+
ARG UNRAR_VERSION=6.2.6
|
|
8
|
+
|
|
9
|
+
RUN \
|
|
10
|
+
if [ "$BUILD_WITH_UNRAR" = true ]; then \
|
|
11
|
+
apk add -U --update --no-cache --virtual=build-dependencies build-base curl && \
|
|
12
|
+
echo "**** install unrar from source ****" && \
|
|
13
|
+
mkdir /tmp/unrar && \
|
|
14
|
+
curl -o /tmp/unrar.tar.gz -L "https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz" && \
|
|
15
|
+
tar xf /tmp/unrar.tar.gz -C /tmp/unrar --strip-components=1 && \
|
|
16
|
+
cd /tmp/unrar && \
|
|
17
|
+
make && \
|
|
18
|
+
install -v -m755 unrar /usr/local/bin && \
|
|
19
|
+
apk del build-dependencies curl && \
|
|
20
|
+
rm -rf /tmp/unrar /tmp/unrar.tar.gz; \
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
RUN mkdir -p /usr/src/app /usr/src/cache
|
|
24
|
+
|
|
25
|
+
WORKDIR /usr/src/app
|
|
26
|
+
VOLUME /usr/src/cache
|
|
27
|
+
|
|
28
|
+
COPY . /usr/src/app
|
|
29
|
+
RUN python -m pip install .
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
ENTRYPOINT ["subliminal", "--cache-dir", "/usr/src/cache"]
|
|
33
|
+
CMD ["--help"]
|
|
@@ -1,6 +1,44 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
---------
|
|
3
3
|
|
|
4
|
+
2.2.0
|
|
5
|
+
^^^^^
|
|
6
|
+
**release date:** 2024-06-24
|
|
7
|
+
|
|
8
|
+
* Drop python2 support, the supported versions are `>=3.8,<=3.12`.
|
|
9
|
+
* Load CLI options from a configuration file with the ``--config/-c`` option (`#1084 <https://github.com/Diaoul/subliminal/pull/1084>`_).
|
|
10
|
+
* Change default encoding of downloaded subtitles to 'utf-8' (not the original encoding). Use the ``--original-encoding`` cli option to recover the previous default behavior (`#1125 <https://github.com/Diaoul/subliminal/pull/1125>`_).
|
|
11
|
+
* Add opensubtitlescom provider
|
|
12
|
+
* Add gestdown provider
|
|
13
|
+
* Add tmdb refiner (requires a personal API key)
|
|
14
|
+
* Fix tvsubtitles provider
|
|
15
|
+
* Fix opensubtitles provider
|
|
16
|
+
* Fix napiprojekt provider
|
|
17
|
+
* Fix podnapisi provider to use JSON API
|
|
18
|
+
* Fix addic7ed provider
|
|
19
|
+
* Remove thesubdb provider
|
|
20
|
+
* Remove argenteam provider
|
|
21
|
+
* Remove shooter provider
|
|
22
|
+
* Remove legendastv provider
|
|
23
|
+
* Use `pyproject.toml` to specify the package configurations.* Add pre-commit hook (`#1115 <https://github.com/Diaoul/subliminal/pull/1115>`_).
|
|
24
|
+
* Use ruff to lint and format
|
|
25
|
+
* Use mypy to check types
|
|
26
|
+
* Add type annotations
|
|
27
|
+
* Drop dependencies: pysrt, appdirs, six, pytz
|
|
28
|
+
* Add dependencies:
|
|
29
|
+
- click-option-group>=0.5.6
|
|
30
|
+
- platformdirs>=4.2
|
|
31
|
+
- pysubs2>=1.7
|
|
32
|
+
- srt>=3.5
|
|
33
|
+
- tomli>=2
|
|
34
|
+
* Bump dependency versions:
|
|
35
|
+
- babelfish>=0.6.1
|
|
36
|
+
- chardet>=5.0
|
|
37
|
+
- click>=8.0
|
|
38
|
+
- dogpile.cache>=1.0
|
|
39
|
+
- enzyme>=0.5.0
|
|
40
|
+
- stevedore>=3.0
|
|
41
|
+
|
|
4
42
|
2.1.0
|
|
5
43
|
^^^^^
|
|
6
44
|
**release date:** 2020-05-02
|