Add balance command to leclercmobile

This commit is contained in:
Florent 2012-08-29 16:41:36 +02:00
commit 681b83e4b3
4 changed files with 20 additions and 1 deletions

View file

@ -96,3 +96,7 @@ class LeclercMobileBackend(BaseBackend, ICapBill):
with self.browser:
return self.browser.readurl(bill._url)
def get_balance(self, subscription):
with self.browser:
return self.browser.get_balance()

View file

@ -129,3 +129,10 @@ class Leclercmobile(BaseBrowser):
for a in l:
if a.id == id:
return a
def get_balance(self):
if not self.is_on_page(HistoryPage):
self.location(self.conso)
response = self.openurl('/EspaceClient/pgeWERL015_RecupReleveConso.aspx?m=-0')
pdf = PdfPage(StringIO.StringIO(response.read()))
return pdf.get_balance()

View file

@ -80,6 +80,14 @@ class PdfPage():
details.append(detail)
return details
def get_balance(self):
for calls in self.get_calls():
if "Votre solde" in calls.label:
detail = Detail()
detail.price = calls.price
detail.label = u"Balance"
return detail
# Standard pdf text extractor take text line by line
# But the position in the file is not always the "real" position to display...
# It produce some unsorted and unparsable data