mirror of
https://codeberg.org/hyperreal/admin-scripts
synced 2024-11-25 09:03:41 +01:00
Use context manager
This commit is contained in:
parent
ae478e4675
commit
38ffe9e963
@ -1,45 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
"""add_qbt_trackers.py
|
|
||||||
|
|
||||||
Description:
|
|
||||||
This script fetches torrent tracker URLs from plaintext lists hosted on the web
|
|
||||||
and adds them to each torrent in a qBittorrent instance.
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
add_qbt_trackers.py (HOSTNAME) (USERNAME) (PASSWORD)
|
|
||||||
add_qbt_trackers.py -h
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
add_qbt_trackers.py "http://localhost:8080" "admin" "adminadmin"
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-h, --help show this help message and exit
|
|
||||||
"""
|
|
||||||
|
|
||||||
import requests
|
|
||||||
from docopt import docopt
|
|
||||||
from qbittorrent import Client
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
args = docopt(__doc__) # type: ignore
|
|
||||||
|
|
||||||
# Initialize client and login
|
|
||||||
qb = Client(args["HOSTNAME"])
|
|
||||||
qb.login(username=args["USERNAME"], password=args["PASSWORD"])
|
|
||||||
|
|
||||||
live_trackers_list_urls = [
|
|
||||||
"https://newtrackon.com/api/stable",
|
|
||||||
"https://trackerslist.com/best.txt",
|
|
||||||
"https://trackerslist.com/http.txt",
|
|
||||||
"https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt",
|
|
||||||
]
|
|
||||||
|
|
||||||
combined_trackers_urls = []
|
|
||||||
for url in live_trackers_list_urls:
|
|
||||||
response = requests.get(url, timeout=60)
|
|
||||||
tracker_urls = [x for x in response.text.splitlines() if x != ""]
|
|
||||||
combined_trackers_urls.extend(tracker_urls)
|
|
||||||
|
|
||||||
for torrent in qb.torrents():
|
|
||||||
qb.add_trackers(torrent.get("hash"), "\n".join(combined_trackers_urls)) # type: ignore
|
|
4
qbth.py
4
qbth.py
@ -30,10 +30,10 @@ conn_info = dict(
|
|||||||
username=args["USERNAME"],
|
username=args["USERNAME"],
|
||||||
password=args["PASSWORD"],
|
password=args["PASSWORD"],
|
||||||
)
|
)
|
||||||
qbt_client = qbittorrentapi.Client(**conn_info)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
qbt_client.auth_log_in()
|
with qbittorrentapi.Client(**conn_info) as qbt_client:
|
||||||
|
qbt_client.auth_log_in()
|
||||||
except qbittorrentapi.LoginFailed as e:
|
except qbittorrentapi.LoginFailed as e:
|
||||||
print(e)
|
print(e)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user