summaryrefslogtreecommitdiffhomepage
path: root/libs/subliminal_patch/providers/hdbits.py
diff options
context:
space:
mode:
Diffstat (limited to 'libs/subliminal_patch/providers/hdbits.py')
-rw-r--r--libs/subliminal_patch/providers/hdbits.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/subliminal_patch/providers/hdbits.py b/libs/subliminal_patch/providers/hdbits.py
index 09b2140a5..ddac50fc6 100644
--- a/libs/subliminal_patch/providers/hdbits.py
+++ b/libs/subliminal_patch/providers/hdbits.py
@@ -2,6 +2,7 @@
import functools
from json import JSONDecodeError
import logging
+import re
import time
from babelfish import language_converters
@@ -42,6 +43,7 @@ class HDBitsSubtitle(Subtitle):
_SPECIAL_LANG_MAP = {"uk": ("eng",), "br": ("por", "BR"), "gr": ("ell",)}
_ALLOWED_EXTENSIONS = (".ass", ".srt", ".zip", ".rar")
+_FILTER = re.compile("extra|commentary|lyrics|forced")
def _get_language(code):
@@ -125,6 +127,9 @@ class HDBitsProvider(Provider):
if language is None:
continue
+ if not _is_allowed(subtitle):
+ continue
+
if language not in languages:
logger.debug("Ignoring language: %r !~ %r", language, languages)
continue
@@ -161,6 +166,15 @@ class HDBitsProvider(Provider):
subtitle.content = response.content
+def _is_allowed(subtitle):
+ for val in (subtitle["title"], subtitle["filename"]):
+ if _FILTER.search(val.lower()):
+ logger.debug("Not allowed subtitle: %s", subtitle)
+ return False
+
+ return True
+
+
@functools.lru_cache(2048)
def _memoized_episode_guess(content):
# Use include to save time from unnecessary checks