diff --git a/CHANGELOG.md b/CHANGELOG.md index c0be2ef..d7235bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +* [v2.70.0](https://github.com/a4k-openproject/a4kScrapers/releases/tag/a4kScrapers-2.70.0): + * bring back bitcq + * propagate pre-emptive termination exc from request + * [v2.69.0](https://github.com/a4k-openproject/a4kScrapers/releases/tag/a4kScrapers-2.69.0): * change torrentz2 url * fix piratebay matching by tv episode title diff --git a/meta.json b/meta.json index 547cadd..facfe72 100644 --- a/meta.json +++ b/meta.json @@ -1,6 +1,6 @@ { "author": "Unknown", - "version":"2.69.0", + "version":"2.70.0", "name":"a4kScrapers", "update_directory": "https://github.com/a4k-openproject/a4kScrapers/archive/", "remote_meta": "https://raw.githubusercontent.com/newt-sc/a4kScrapers/master/meta.json", diff --git a/providerModules/a4kScrapers/request.py b/providerModules/a4kScrapers/request.py index dc3272f..916d37c 100644 --- a/providerModules/a4kScrapers/request.py +++ b/providerModules/a4kScrapers/request.py @@ -179,6 +179,9 @@ def _request_core(self, request, sequental = None, cf_retries=3): if self.exc_msg == '': exc = traceback.format_exc(limit=1) + if 'PreemptiveCancellation' in exc: + raise Exception("PreemptiveCancellation") + if 'ConnectTimeout' in exc or 'ReadTimeout' in exc: self.exc_msg = 'request timed out' if 'Detected the new Cloudflare challenge.' in exc and cf_retries > 0 and self.request_time < 2: diff --git a/providerModules/a4kScrapers/urls.json b/providerModules/a4kScrapers/urls.json index 12f0cad..a0be563 100644 --- a/providerModules/a4kScrapers/urls.json +++ b/providerModules/a4kScrapers/urls.json @@ -14,7 +14,12 @@ { "base": "https://bitsearch.to" } ] }, - "-bitcq": { "search": "", "domains": [{ "base": "" }] }, + "bitcq": { + "search": "/search?q=%s&category%%5B%%5D=1", + "domains": [ + { "base": "https://bitcq.com" } + ] + }, "bt4g": { "search": "/movie/search/%s/byseeders/1", "domains": [ diff --git a/providers/a4kScrapers/en/torrent/bitcq.py b/providers/a4kScrapers/en/torrent/bitcq.py new file mode 100644 index 0000000..1fdc4c4 --- /dev/null +++ b/providers/a4kScrapers/en/torrent/bitcq.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- + +from providerModules.a4kScrapers import core + +class sources(core.DefaultSources): + def __init__(self, *args, **kwargs): + super(sources, self).__init__(__name__, *args, **kwargs) diff --git a/update_cached_db.py b/update_cached_db.py index b5fa24f..8caeb3b 100644 --- a/update_cached_db.py +++ b/update_cached_db.py @@ -41,7 +41,7 @@ torrent_scrapers = {} for scraper in torrent_module.__all__: - if scraper in ['bitlord', 'glo', 'kickass', 'lime', 'magnetdl', 'nyaa', 'piratebay', 'solidtorrents', 'torrentapi', 'torrentdownload', 'torrentgalaxy', 'torrentparadise', 'yts']: + if scraper in ['bitcq', 'bitlord', 'glo', 'kickass', 'lime', 'magnetdl', 'nyaa', 'piratebay', 'solidtorrents', 'torrentapi', 'torrentdownload', 'torrentgalaxy', 'torrentparadise', 'torrentz2', 'yts']: torrent_scrapers[scraper] = importlib.import_module('providers.a4kScrapers.en.torrent.%s' % scraper) url = os.getenv('A4KSCRAPERS_TRAKT_API_URL')