pause torrents that have sufficient seeds

This commit is contained in:
AJ
2022-02-09 08:16:09 -05:00
parent 2cbf047271
commit fe019d6fb7

View File

@@ -1,4 +1,5 @@
import qbittorrentapi import qbittorrentapi
import time
# instantiate a Client using the appropriate WebUI configuration # instantiate a Client using the appropriate WebUI configuration
qbt_client = qbittorrentapi.Client( qbt_client = qbittorrentapi.Client(
@@ -8,27 +9,37 @@ qbt_client = qbittorrentapi.Client(
password='adminadmin', 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 max_seeds = 25
# retrieve and show all torrents def login():
for torrent in qbt_client.torrents.info.all(): # the Client will automatically acquire/maintain a logged-in state
if torrent.state_enum.is_downloading: # in line with any request. therefore, this is not strictly necessary;
continue # however, you may want to test the provided login credentials.
try:
qbt_client.auth_log_in()
except qbittorrentapi.LoginFailed as e:
print(e)
if torrent.num_complete < max_seeds: # display qBittorrent info
torrent.uploadLimit = 0 print(f'qBittorrent: {qbt_client.app.version}')
else: print(f'qBittorrent Web API: {qbt_client.app.web_api_version}')
torrent.uploadLimit = 10240 # for k,v in qbt_client.app.build_info.items(): print(f'{k}: {v}')
def dostuff():
for torrent in qbt_client.torrents.info.all():
if torrent.state_enum.is_downloading:
continue
if torrent.num_complete > max_seeds:
torrent.pause()
else:
torrent.resume()
def update_seed_count():
qbt_client.torrents.resume.all()
print('Waiting 30 seconds for seeds to update...')
time.sleep(30)
login()
update_seed_count()
dostuff()