Files
qBittorrent-Seed-Limit/start-seeding.py
2022-02-03 07:45:22 -05:00

44 lines
1.3 KiB
Python

import qbittorrentapi
# instantiate a Client using the appropriate WebUI configuration
qbt_client = qbittorrentapi.Client(
host='192.168.10.100',
port=8080,
username='admin',
password='adminadmin',
)
# the Client will automatically acquire/maintain a logged-in state
# in line with any request. therefore, this is not strictly necessary;
# however, you may want to test the provided login credentials.
try:
qbt_client.auth_log_in()
except qbittorrentapi.LoginFailed as e:
print(e)
# display qBittorrent info
print(f'qBittorrent: {qbt_client.app.version}')
print(f'qBittorrent Web API: {qbt_client.app.web_api_version}')
for k,v in qbt_client.app.build_info.items(): print(f'{k}: {v}')
max_seeds = 25
has_changes = False
# retrieve and show all torrents
for torrent in qbt_client.torrents.info.all():
if torrent.state_enum.is_downloading:
continue
if torrent.num_complete < max_seeds:
if not torrent.state_enum.is_uploading:
torrent.resume()
print(f"Resume seeding for torrent: {torrent.name}")
has_changes = True
else:
if torrent.state_enum.is_uploading:
torrent.pause()
print(f"Paused torrent: {torrent.name}")
has_changes = True
if not has_changes:
print("No changes made")