From 51bf6964bf697e027bf4989a23902f595b5e0b58 Mon Sep 17 00:00:00 2001 From: josdion Date: Fri, 1 May 2020 19:18:16 +0300 Subject: [PATCH] subssabbz, yavkanet - prevent country detection with guessit #958 --- libs/subliminal_patch/providers/subssabbz.py | 11 +++++------ libs/subliminal_patch/providers/yavkanet.py | 8 +++----- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/libs/subliminal_patch/providers/subssabbz.py b/libs/subliminal_patch/providers/subssabbz.py index f524a382b..66edc1c4f 100644 --- a/libs/subliminal_patch/providers/subssabbz.py +++ b/libs/subliminal_patch/providers/subssabbz.py @@ -13,7 +13,6 @@ from guessit import guessit from subliminal_patch.providers import Provider from subliminal_patch.subtitle import Subtitle from subliminal_patch.utils import sanitize, fix_inconsistent_naming -from subliminal.exceptions import ProviderError from subliminal.utils import sanitize_release_group from subliminal.subtitle import guess_matches from subliminal.video import Episode, Movie @@ -88,14 +87,14 @@ class SubsSabBzSubtitle(Subtitle): if video.imdb_id and self.imdb_id == video.imdb_id: matches.add('imdb_id') - matches |= guess_matches(video, guessit(self.title, {'type': self.type})) - matches |= guess_matches(video, guessit(self.filename, {'type': self.type})) + matches |= guess_matches(video, guessit(self.title, {'type': self.type, 'allowed_countries': [None]})) + matches |= guess_matches(video, guessit(self.filename, {'type': self.type, 'allowed_countries': [None]})) return matches class SubsSabBzProvider(Provider): """SubsSabBz Provider.""" - languages = {Language('por', 'BR')} | {Language(l) for l in [ + languages = {Language(l) for l in [ 'bul', 'eng' ]} @@ -214,11 +213,11 @@ class SubsSabBzProvider(Provider): def process_archive_subtitle_files(self, archiveStream, language, video, link, fps, num_cds): subtitles = [] type = 'episode' if isinstance(video, Episode) else 'movie' - for file_name in archiveStream.namelist(): + for file_name in sorted(archiveStream.namelist()): if file_name.lower().endswith(('.srt', '.sub')): logger.info('Found subtitle file %r', file_name) subtitle = SubsSabBzSubtitle(language, file_name, type, video, link, fps, num_cds) - subtitle.content = archiveStream.read(file_name) + subtitle.content = fix_line_ending(archiveStream.read(file_name)) subtitles.append(subtitle) return subtitles diff --git a/libs/subliminal_patch/providers/yavkanet.py b/libs/subliminal_patch/providers/yavkanet.py index 74198550e..42029634e 100644 --- a/libs/subliminal_patch/providers/yavkanet.py +++ b/libs/subliminal_patch/providers/yavkanet.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import absolute_import import logging -import re import io import os from random import randint @@ -13,7 +12,6 @@ from guessit import guessit from subliminal_patch.providers import Provider from subliminal_patch.subtitle import Subtitle from subliminal_patch.utils import sanitize -from subliminal.exceptions import ProviderError from subliminal.utils import sanitize_release_group from subliminal.subtitle import guess_matches from subliminal.video import Episode, Movie @@ -67,8 +65,8 @@ class YavkaNetSubtitle(Subtitle): if video.year and self.year == video.year: matches.add('year') - matches |= guess_matches(video, guessit(self.title, {'type': self.type})) - matches |= guess_matches(video, guessit(self.filename, {'type': self.type})) + matches |= guess_matches(video, guessit(self.title, {'type': self.type, 'allowed_countries': [None]})) + matches |= guess_matches(video, guessit(self.filename, {'type': self.type, 'allowed_countries': [None]})) return matches @@ -183,7 +181,7 @@ class YavkaNetProvider(Provider): if file_name.lower().endswith(('.srt', '.sub')): logger.info('Found subtitle file %r', file_name) subtitle = YavkaNetSubtitle(language, file_name, type, video, link, fps) - subtitle.content = archiveStream.read(file_name) + subtitle.content = fix_line_ending(archiveStream.read(file_name)) subtitles.append(subtitle) return subtitles