qbit_manage/modules/bhd.py
pre-commit-ci[bot] db8b5d55d7
[pre-commit.ci] pre-commit autoupdate (#430)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/psf/black: 23.9.1 → 23.10.1](https://github.com/psf/black/compare/23.9.1...23.10.1)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-10-25 08:30:05 -04:00

40 lines
1.3 KiB
Python
Executable file

"""Module for BeyondHD (BHD) tracker."""
from json import JSONDecodeError
from modules import util
from modules.util import Failed
logger = util.logger
BASE_URL = "https://beyond-hd.me/api/"
class BeyondHD:
"""BeyondHD (BHD) tracker class."""
def __init__(self, config, params):
self.config = config
self.apikey = params["apikey"]
logger.secret(self.apikey)
json = {"search": "test"}
self.search(json)
def search(self, json, path="torrents/"):
"""Search BHD."""
url = f"{BASE_URL}{path}{self.apikey}"
json["action"] = "search"
logger.trace(url)
logger.trace(f"JSON: {json}")
try:
response = self.config.post(url, json=json, headers={"User-Agent": "Chrome"})
logger.trace(response)
response_json = response.json()
except JSONDecodeError as err:
logger.debug(err)
return {}
if response.status_code >= 400:
logger.debug(f"Response: {response_json}")
raise Failed(f"({response.status_code} [{response.reason}]) {response_json}")
if not response_json.get("success"):
raise Failed(f"BHD Error: {response_json.get('status_message','Issue receiving response from BHD API.')}")
return response_json