From 3a0e3b40287d26a70bc6d224be9a4b1c116bd21b Mon Sep 17 00:00:00 2001 From: Florent Date: Mon, 12 Aug 2013 13:54:41 +0200 Subject: [PATCH] Add get_balance to nettokom --- modules/nettokom/backend.py | 14 +++++++++++--- modules/nettokom/pages/homepage.py | 3 +++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/modules/nettokom/backend.py b/modules/nettokom/backend.py index 4f0b2646..834315b6 100644 --- a/modules/nettokom/backend.py +++ b/modules/nettokom/backend.py @@ -19,7 +19,8 @@ -from weboob.capabilities.bill import ICapBill, SubscriptionNotFound +from weboob.capabilities.bill import ICapBill, Subscription, SubscriptionNotFound, Detail +from weboob.capabilities.base import Currency from weboob.tools.backend import BaseBackend, BackendConfig from weboob.tools.value import ValueBackendPassword @@ -54,8 +55,6 @@ class NettoKomBackend(BaseBackend, ICapBill): yield subscription def get_subscription(self, _id): - if not _id.isdigit(): - raise SubscriptionNotFound() with self.browser: subscription = self.browser.get_subscription(_id) if subscription: @@ -73,3 +72,12 @@ class NettoKomBackend(BaseBackend, ICapBill): with self.browser: for detail in self.browser.get_details(): yield detail + + def get_balance(self, subscription): + if not isinstance(subscription, Subscription): + subscription = self.get_subscription(subscription) + balance = Detail() + balance.price = subscription._balance + balance.label = u"Balance" + balance.currency = Currency.CUR_EUR + return balance diff --git a/modules/nettokom/pages/homepage.py b/modules/nettokom/pages/homepage.py index 0a5f6105..ca2d829c 100644 --- a/modules/nettokom/pages/homepage.py +++ b/modules/nettokom/pages/homepage.py @@ -18,8 +18,10 @@ # along with weboob. If not, see . from weboob.capabilities.bill import Subscription +from weboob.tools.capabilities.bank.transactions import FrenchTransaction from weboob.tools.browser import BasePage from datetime import date +from decimal import Decimal __all__ = ['HomePage'] @@ -48,6 +50,7 @@ class HomePage(BasePage): subscription.subscriber = unicode(owner) expiredate = date(*reversed([int(x) for x in expiredate.split(".")])) subscription.validity = expiredate + subscription._balance = Decimal(FrenchTransaction.clean_amount(credit)) l.append(subscription)