Extra usage: montants en euros (centimes/100), affiche utilise / plafond mensuel
This commit is contained in:
@@ -72,22 +72,20 @@ class ExtraUsage:
|
||||
limit: float | None
|
||||
currency: str = "EUR"
|
||||
|
||||
@property
|
||||
def remaining(self) -> float | None:
|
||||
"""Crédits extra encore disponibles avant le plafond mensuel."""
|
||||
if self.limit is None:
|
||||
return None
|
||||
return max(0.0, self.limit - self.used)
|
||||
def _fmt(self, cents: float) -> str:
|
||||
"""Montant en euros : les valeurs de l'API sont en centimes (136 -> 1,36€)."""
|
||||
sym = "€" if self.currency == "EUR" else f" {self.currency}"
|
||||
v = cents / 100
|
||||
s = f"{int(v)}" if v == int(v) else f"{v:.2f}".replace(".", ",")
|
||||
return f"{s}{sym}"
|
||||
|
||||
@property
|
||||
def label(self) -> str:
|
||||
sym = "€" if self.currency == "EUR" else self.currency
|
||||
# L'API n'expose que l'extra dépensé sur le mois et le plafond mensuel
|
||||
# (pas le solde de crédits prépayés). On affiche donc utilisé / plafond.
|
||||
if self.limit:
|
||||
return (
|
||||
f"Extra : {self.remaining:.0f}{sym} restant"
|
||||
f" · {self.used:.0f}{sym} utilisé / {self.limit:.0f}{sym}"
|
||||
)
|
||||
return f"Extra : {self.used:.0f}{sym} utilisé"
|
||||
return f"Extra : {self._fmt(self.used)} utilisé / {self._fmt(self.limit)} ce mois"
|
||||
return f"Extra : {self._fmt(self.used)} utilisé"
|
||||
|
||||
|
||||
@dataclass
|
||||
|
||||
Reference in New Issue
Block a user