#!/usr/bin/env python3 """seed_scihub_max_seeders.py Description: Find Sci Hub torrents containing MAX_SEEDERS seeders and add them to a qBittorrent instance. MAX_SEEDERS is a positive integer argument. Usage: seed_scihub_max_seeders.py (HOSTNAME) (USERNAME) (PASSWORD) (MAX_SEEDERS) seed_scihub_max_seeders.py -h Examples: seed_scihub_max_seeders.py "http://localhost:8080" "admin" "adminadmin" 4 seed_scihub_max_seeders.py "https://cat.seedhost.eu/lol/qbittorrent" "lol" "pw" 3 Options: -h, --help show this help message and exit """ import json import os import requests from docopt import docopt from qbittorrent import Client if __name__ == "__main__": args = docopt(__doc__) qb = Client(args["HOSTNAME"]) qb.login(username=args["USERNAME"], password=args["PASSWORD"]) TORRENT_HEALTH_URL = ( "https://zrthstr.github.io/libgen_torrent_cardiography/torrent.json" ) response = requests.get(TORRENT_HEALTH_URL, timeout=60) json_data = json.loads(response.text) for item in json_data: if item["seeders"] <= int(args["MAX_SEEDERS"]): qb.download_from_link(item["link"], category="scihub") print(f"Added {os.path.basename(item["name"])}")