dl/commands/nyaa-404.py

45 lines
1.2 KiB
Python
Raw Normal View History

2023-04-24 07:02:56 +00:00
#!/usr/bin/env python3
2023-04-23 19:51:03 +00:00
from argparse import ArgumentParser
from logging import INFO, StreamHandler
from os import path
from sys import stdout
from time import sleep
from requests import head
2023-06-09 16:30:06 +00:00
from transmissionrpc import Client, DefaultHTTPHandler, LOGGER # type: ignore
2023-04-23 19:51:03 +00:00
parser = ArgumentParser()
2023-06-09 16:30:06 +00:00
parser.add_argument("-u", "--username", required=True)
parser.add_argument("-p", "--password", required=True)
2023-04-23 19:51:03 +00:00
args = parser.parse_args()
LOGGER.setLevel(INFO)
LOGGER.addHandler(StreamHandler(stdout))
class CustomHTTPHandler(DefaultHTTPHandler):
def request(self, url, query, headers, timeout):
2024-01-26 11:46:36 +00:00
headers["User-Agent"] = (
"Mozilla/5.0 (X11; Linux x86_64; rv:111.0) Gecko/20100101 Firefox/111.0"
)
2023-04-23 19:51:03 +00:00
return super().request(url, query, headers, timeout)
client = Client(
"https://torrent.crystalyx.net/transmission/rpc",
port=443,
user=args.username,
password=args.password,
http_handler=CustomHTTPHandler(),
)
for torrent in client.get_torrents():
if "nyaa" in torrent.comment:
response = head(torrent.comment)
if response.status_code != 200:
print(
f"{response.status_code} - {path.join(torrent.downloadDir, torrent.name)}"
)
sleep(1)