#!/usr/bin/env python3 from qbittorrent import Client class TorrentApi: def __init__(self, ip, password, username='admin'): # Initialize the qBittorrent client self.qb = Client(ip) self.qb.login(username, password) def get_torrents(self): return self.get_filtered_torrents('all') def get_filtered_torrents(self, state): # Retrieve torrents filtered by the given state torrents = self.qb.torrents(filter=state) # Extract relevant information torrent_list = [] for torrent in torrents: torrent_info = { 'name': torrent['name'], 'state': torrent['state'], 'progress': torrent['progress'] * 100, # Convert to percentage 'eta': torrent['eta'] } torrent_list.append(torrent_info) return torrent_list