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
|
limit: float | None
|
||||||
currency: str = "EUR"
|
currency: str = "EUR"
|
||||||
|
|
||||||
@property
|
def _fmt(self, cents: float) -> str:
|
||||||
def remaining(self) -> float | None:
|
"""Montant en euros : les valeurs de l'API sont en centimes (136 -> 1,36€)."""
|
||||||
"""Crédits extra encore disponibles avant le plafond mensuel."""
|
sym = "€" if self.currency == "EUR" else f" {self.currency}"
|
||||||
if self.limit is None:
|
v = cents / 100
|
||||||
return None
|
s = f"{int(v)}" if v == int(v) else f"{v:.2f}".replace(".", ",")
|
||||||
return max(0.0, self.limit - self.used)
|
return f"{s}{sym}"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def label(self) -> str:
|
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:
|
if self.limit:
|
||||||
return (
|
return f"Extra : {self._fmt(self.used)} utilisé / {self._fmt(self.limit)} ce mois"
|
||||||
f"Extra : {self.remaining:.0f}{sym} restant"
|
return f"Extra : {self._fmt(self.used)} utilisé"
|
||||||
f" · {self.used:.0f}{sym} utilisé / {self.limit:.0f}{sym}"
|
|
||||||
)
|
|
||||||
return f"Extra : {self.used:.0f}{sym} utilisé"
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
Reference in New Issue
Block a user