diff --git a/libs/subliminal_patch/providers/subssabbz.py b/libs/subliminal_patch/providers/subssabbz.py
index 386e3c19f..960d36429 100644
--- a/libs/subliminal_patch/providers/subssabbz.py
+++ b/libs/subliminal_patch/providers/subssabbz.py
@@ -55,7 +55,12 @@ class SubsSabBzSubtitle(Subtitle):
self.video = video
self.fps = fps
self.num_cds = num_cds
- self.release_info = os.path.splitext(filename)[0]
+ self.release_info = filename
+ if fps:
+ if video.fps and float(video.fps) == fps:
+ self.release_info += " [{:.3f}]".format(fps)
+ else:
+ self.release_info += " [{:.3f}]".format(fps)
@property
def id(self):
@@ -168,7 +173,7 @@ class SubsSabBzProvider(Provider):
element = a_element_wrapper.find('a')
if element:
link = element.get('href')
- notes = element.get('onmouseover')
+ notes = re.sub(r'ddrivetip\(\'
(.*)\',\'#[0-9]+\'\)', r'\1', element.get('onmouseover'))
title = element.get_text()
try:
@@ -248,12 +253,15 @@ class SubsSabBzProvider(Provider):
else:
logger.info('Cache file: %s', codecs.encode(cache_key, 'hex_codec').decode('utf-8'))
- archive_stream = io.BytesIO(request.content)
- if is_rarfile(archive_stream):
- return self.process_archive_subtitle_files(RarFile(archive_stream), language, video, link, fps, num_cds)
- elif is_zipfile(archive_stream):
- return self.process_archive_subtitle_files(ZipFile(archive_stream), language, video, link, fps, num_cds)
- else:
- logger.error('Ignore unsupported archive %r', request.headers)
- region.delete(cache_key)
- return []
+ try:
+ archive_stream = io.BytesIO(request.content)
+ if is_rarfile(archive_stream):
+ return self.process_archive_subtitle_files(RarFile(archive_stream), language, video, link, fps, num_cds)
+ elif is_zipfile(archive_stream):
+ return self.process_archive_subtitle_files(ZipFile(archive_stream), language, video, link, fps, num_cds)
+ except:
+ pass
+
+ logger.error('Ignore unsupported archive %r', request.headers)
+ region.delete(cache_key)
+ return []
diff --git a/libs/subliminal_patch/providers/subsunacs.py b/libs/subliminal_patch/providers/subsunacs.py
index 19c5eff86..137d2f7bf 100644
--- a/libs/subliminal_patch/providers/subsunacs.py
+++ b/libs/subliminal_patch/providers/subsunacs.py
@@ -55,7 +55,12 @@ class SubsUnacsSubtitle(Subtitle):
self.video = video
self.fps = fps
self.num_cds = num_cds
- self.release_info = os.path.splitext(filename)[0]
+ self.release_info = filename
+ if fps:
+ if video.fps and float(video.fps) == fps:
+ self.release_info += " [{:.3f}]".format(fps)
+ else:
+ self.release_info += " [{:.3f}]".format(fps)
@property
def id(self):
@@ -168,7 +173,7 @@ class SubsUnacsProvider(Provider):
element = a_element_wrapper.find('a', {'class': 'tooltip'})
if element:
link = element.get('href')
- notes = element.get('title')
+ notes = re.sub(r'()', r"", element.get('title'))
title = element.get_text()
try:
@@ -230,11 +235,8 @@ class SubsUnacsProvider(Provider):
is_7zip = isinstance(archiveStream, SevenZipFile)
if is_7zip:
- try:
- file_content = archiveStream.readall()
- file_list = sorted(file_content)
- except:
- return []
+ file_content = archiveStream.readall()
+ file_list = sorted(file_content)
else:
file_list = sorted(archiveStream.namelist())
@@ -268,14 +270,17 @@ class SubsUnacsProvider(Provider):
else:
logger.info('Cache file: %s', codecs.encode(cache_key, 'hex_codec').decode('utf-8'))
- archive_stream = io.BytesIO(request.content)
- if is_rarfile(archive_stream):
- return self.process_archive_subtitle_files(RarFile(archive_stream), language, video, link, fps, num_cds)
- elif is_zipfile(archive_stream):
- return self.process_archive_subtitle_files(ZipFile(archive_stream), language, video, link, fps, num_cds)
- elif archive_stream.seek(0) == 0 and is_7zfile(archive_stream):
- return self.process_archive_subtitle_files(SevenZipFile(archive_stream), language, video, link, fps, num_cds)
- else:
- logger.error('Ignore unsupported archive %r', request.headers)
- region.delete(cache_key)
- return []
+ try:
+ archive_stream = io.BytesIO(request.content)
+ if is_rarfile(archive_stream):
+ return self.process_archive_subtitle_files(RarFile(archive_stream), language, video, link, fps, num_cds)
+ elif is_zipfile(archive_stream):
+ return self.process_archive_subtitle_files(ZipFile(archive_stream), language, video, link, fps, num_cds)
+ elif archive_stream.seek(0) == 0 and is_7zfile(archive_stream):
+ return self.process_archive_subtitle_files(SevenZipFile(archive_stream), language, video, link, fps, num_cds)
+ except:
+ pass
+
+ logger.error('Ignore unsupported archive %r', request.headers)
+ region.delete(cache_key)
+ return []
diff --git a/libs/subliminal_patch/providers/yavkanet.py b/libs/subliminal_patch/providers/yavkanet.py
index 6de60ef35..4555fd177 100644
--- a/libs/subliminal_patch/providers/yavkanet.py
+++ b/libs/subliminal_patch/providers/yavkanet.py
@@ -37,7 +37,12 @@ class YavkaNetSubtitle(Subtitle):
self.type = type
self.video = video
self.fps = fps
- self.release_info = os.path.splitext(filename)[0]
+ self.release_info = filename
+ if fps:
+ if video.fps and float(video.fps) == fps:
+ self.release_info += " [{:.3f}]".format(fps)
+ else:
+ self.release_info += " [{:.3f}]".format(fps)
@property
def id(self):
@@ -141,7 +146,7 @@ class YavkaNetProvider(Provider):
element = row.find('a', {'class': 'selector'})
if element:
link = element.get('href')
- notes = element.get('content')
+ notes = re.sub(r'(?s)(.*)', r"\1", element.get('content'))
title = element.get_text()
try:
@@ -205,12 +210,15 @@ class YavkaNetProvider(Provider):
else:
logger.info('Cache file: %s', codecs.encode(cache_key, 'hex_codec').decode('utf-8'))
- archive_stream = io.BytesIO(request.content)
- if is_rarfile(archive_stream):
- return self.process_archive_subtitle_files(RarFile(archive_stream), language, video, link, fps)
- elif is_zipfile(archive_stream):
- return self.process_archive_subtitle_files(ZipFile(archive_stream), language, video, link, fps)
- else:
- logger.error('Ignore unsupported archive %r', request.headers)
- region.delete(cache_key)
- return []
+ try:
+ archive_stream = io.BytesIO(request.content)
+ if is_rarfile(archive_stream):
+ return self.process_archive_subtitle_files(RarFile(archive_stream), language, video, link, fps)
+ elif is_zipfile(archive_stream):
+ return self.process_archive_subtitle_files(ZipFile(archive_stream), language, video, link, fps)
+ except:
+ pass
+
+ logger.error('Ignore unsupported archive %r', request.headers)
+ region.delete(cache_key)
+ return []