Trackers: affiche les jetons de seed (torr9 jeton_balance)

Champ tokens optionnel sur TrackerStat (None = tracker sans jetons) ; torr9 le
remplit depuis jeton_balance de /users/me. Ligne « N jetons » conditionnelle sous
envoyé/reçu, masquée pour les trackers sans système de jetons (c411).
This commit is contained in:
jerem
2026-06-17 10:43:32 +02:00
parent 291a076759
commit c4e5c141aa
3 changed files with 12 additions and 3 deletions

View File

@@ -40,6 +40,12 @@ class TrackerStat:
ratio: float = 0.0
up_bytes: int = 0
down_bytes: int = 0
tokens: int | None = None # jetons/points de seed (None = le tracker n'en a pas)
tokens_label: str = "jetons"
@property
def tokens_h(self) -> str:
return f"{self.tokens:,}".replace(",", " ") if self.tokens is not None else ""
@staticmethod
def _human(b: int) -> str:
@@ -151,9 +157,11 @@ async def _fetch_torr9(spec: TrackerSpec) -> TrackerStat:
up = int(u.get("total_uploaded_bytes", 0) or 0) + int(u.get("bonus_uploaded", 0) or 0)
down = int(u.get("total_downloaded_bytes", 0) or 0) + int(u.get("bonus_downloaded", 0) or 0)
jetons = u.get("jeton_balance")
return TrackerStat(
spec.key, spec.label, ok=True,
ratio=(up / down if down else 0.0), up_bytes=up, down_bytes=down,
tokens=int(jetons) if jetons is not None else None,
)