sane-bt-search: include size and tracker in results

This commit is contained in:
colin 2023-01-20 02:10:07 +00:00
parent f46e3fdf01
commit 2e942e2dd4

View File

@ -23,21 +23,29 @@ ENDPOINTS = dict(
class Torrent:
seeders: int
pub_date: datetime
size: int
tracker: str
title: str
magnet: str
def __str__(self) -> str:
return f"{self.seeders}[S]\t{self.pub_date}\t{self.title}\t{self.magnet}"
return f"{self.seeders}[S]\t{self.pub_date}\t{self.mib}M\t{self.tracker}\t{self.title}\t{self.magnet}"
@property
def mib(self) -> int:
return int(round(self.size / 1024 / 1024))
@staticmethod
def from_dict(d: dict) -> 'Torrent':
seeders = d.get("Seeders")
pub_date = d.get("PublishDate")
size = d.get("Size")
tracker = d.get("Tracker")
title = d.get("Title")
magnet = d.get("MagnetUri")
if seeders is not None and pub_date is not None and title is not None and magnet is not None:
pub_date = datetime.fromisoformat(pub_date).astimezone()
return Torrent(seeders, pub_date, title, magnet)
return Torrent(seeders, pub_date, size, tracker, title, magnet)
class Client:
def __init__(self):