pause torrents that have sufficient seeds
This commit is contained in:
@@ -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
|
||||||
|
# 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}')
|
||||||
|
|
||||||
|
def dostuff():
|
||||||
|
for torrent in qbt_client.torrents.info.all():
|
||||||
if torrent.state_enum.is_downloading:
|
if torrent.state_enum.is_downloading:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if torrent.num_complete < max_seeds:
|
if torrent.num_complete > max_seeds:
|
||||||
torrent.uploadLimit = 0
|
torrent.pause()
|
||||||
else:
|
else:
|
||||||
torrent.uploadLimit = 10240
|
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()
|
||||||
Reference in New Issue
Block a user