本文整理汇总了Python中weboob.capabilities.bill.Detail.label方法的典型用法代码示例。如果您正苦于以下问题:Python Detail.label方法的具体用法?Python Detail.label怎么用?Python Detail.label使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类weboob.capabilities.bill.Detail
的用法示例。
在下文中一共展示了Detail.label方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _iter_divs
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def _iter_divs(self, divs, num, inter=False):
for div in divs:
detail = Detail()
detail.label = CleanText('div[@class="titre"]/p')(div)
detail.id = "-" + detail.label.split(' ')[1].lower()
if inter:
detail.label = detail.label + u" (international)"
detail.id = detail.id + "-inter"
detail.infos = CleanText('div[@class="conso"]/p')(div)
detail.price = CleanDecimal('div[@class="horsForfait"]/p/span', default=Decimal(0), replace_dots=True)(div)
self.details[num].append(detail)
示例2: iter_divs
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def iter_divs(self, divs, num, inter=False):
for div in divs:
detail = Detail()
detail.label = unicode(div.find('div[@class="titre"]/p').text_content())
detail.id = "-" + detail.label.split(' ')[1].lower()
if inter:
detail.label = detail.label + u" (international)"
detail.id = detail.id + "-inter"
detail.infos = unicode(div.find('div[@class="conso"]/p').text_content().lstrip())
detail.price = convert_price(div)
self.details[num].append(detail)
示例3: parse_voice
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def parse_voice(self, div, string, num, inter=False):
voice = Detail()
voice.id = "-voice"
voice.label = unicode(div.find('div[@class="titre"]/p').text_content())
if inter:
voice.label = voice.label + " (international)"
voice.id = voice.id + "-inter"
voice.price = convert_price(div)
voice1 = div.xpath('div[@class="conso"]/p/span')[0].text
voice2 = div.xpath('div[@class="conso"]/p/span')[1].text
voice.infos = unicode(string) % (voice1, voice2)
return voice
示例4: _parse_voice
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def _parse_voice(self, div, string, num, inter=False):
voicediv = div.xpath('div[@class="conso"]')[0]
voice = Detail()
voice.id = "-voice"
voice.label = CleanText('div[@class="titre"]/p')(div)
if inter:
voice.label = voice.label + " (international)"
voice.id = voice.id + "-inter"
voice.price = CleanDecimal('div[@class="horsForfait"]/p/span', default=Decimal(0), replace_dots=True)(div)
voice1 = CleanText('.//span[@class="actif"][1]')(voicediv)
voice2 = CleanText('.//span[@class="actif"][2]')(voicediv)
voice.infos = unicode(string) % (voice1, voice2)
return voice
示例5: iter_history
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def iter_history(self):
tables = self.doc.xpath('//table[contains(concat(" ", @class, " "), " cTableauTriable ")]')
if len(tables) > 0:
lines = tables[0].xpath('.//tr')
sno = 0
for tr in lines:
list_a = tr.xpath('.//a')
if len(list_a) == 0:
continue
date = tr.xpath('.//td')[0].text.strip()
lot = list_a[0].text.replace('(*)', '').strip()
if lot == 'SNL':
sno = sno + 1
lot = lot + str(sno)
factures = tr.xpath('.//div[@class="cAlignGauche"]/a')
factures_lbl = ''
for a in factures:
factures_lbl = factures_lbl + a.text.replace('(**)', '').strip() + ' '
montant = tr.xpath('.//div[@class="cAlignDroite"]')[0].text.strip()
det = Detail()
det.id = u''+lot
det.label = u''+lot
det.infos = u''+factures_lbl
det.datetime = datetime.strptime(date, "%d/%m/%Y").date()
det.price = Decimal(montant.replace(',', '.'))
yield det
示例6: do_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def do_details(self, id):
"""
details [ID]
Get details of subscriptions.
If no ID given, display all details of all backends.
"""
l = []
id, backend_name = self.parse_id(id)
if not id:
for subscrib in self.get_object_list('iter_subscription'):
l.append((subscrib.id, subscrib.backend))
else:
l.append((id, backend_name))
for id, backend in l:
names = (backend,) if backend is not None else None
# XXX: should be generated by backend? -Flo
# XXX: no, but you should do it in a specific formatter -romain
# TODO: do it, and use exec_method here. Code is obsolete
mysum = Detail()
mysum.label = u"Sum"
mysum.infos = u"Generated by boobill"
mysum.price = Decimal("0.")
self.start_format()
for detail in self.do('get_details', id, backends=names):
self.format(detail)
mysum.price = detail.price + mysum.price
self.format(mysum)
示例7: iter_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def iter_details(self, sub):
det = Detail()
det.id = sub.id
det.label = sub.label
det.infos = ''
det.price = Decimal('0.0')
yield det
示例8: get_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def get_details(self, sub):
det = Detail()
det.id = sub.id
det.label = sub.label
det.infos = ""
det.price = Decimal("0.0")
return det
示例9: iter_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def iter_details(self, sub):
det = Detail()
det.id = sub.id
det.label = sub.label
det.infos = ""
det.price = Decimal("0.0")
yield det
示例10: get_balance
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
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
示例11: iter_payment_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def iter_payment_details(self, sub):
if sub._id.isdigit():
idx = 0
else:
idx = sub._id.replace('AFFILIE', '')
if len(self.document.xpath('//div[@class="centrepage"]/h2')) > idx or self.document.xpath('//table[@id="DetailPaiement3"]') > idx:
id_str = self.document.xpath('//div[@class="centrepage"]/h2')[idx].text.strip()
m = re.match('.*le (.*) pour un montant de.*', id_str)
if m:
id_str = m.group(1)
id_date = datetime.strptime(id_str, '%d/%m/%Y').date()
id = sub._id + "." + datetime.strftime(id_date, "%Y%m%d")
table = self.document.xpath('//table[@class="tableau"]')[idx].xpath('.//tr')
line = 1
last_date = None
for tr in table:
tds = tr.xpath('.//td')
if len(tds) == 0:
continue
date_str = tds[0].text
det = Detail()
det.id = id + "." + str(line)
det.label = unicode(tds[1].text.strip())
if date_str is None or date_str == '':
det.infos = u''
det.datetime = last_date
else:
det.infos = u'Payé ' + unicode(re.sub('[^\d,-]+', '', tds[2].text)) + u'€ / Base ' + unicode(re.sub('[^\d,-]+', '', tds[3].text)) + u'€ / Taux ' + unicode(re.sub('[^\d,-]+', '', tds[4].text)) + '%'
det.datetime = datetime.strptime(date_str, '%d/%m/%Y').date()
last_date = det.datetime
det.price = Decimal(re.sub('[^\d,-]+', '', tds[5].text).replace(',', '.'))
line = line + 1
yield det
示例12: get_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def get_details(self, sub):
det = Detail()
det.id = sub.id
det.label = sub.label
det.infos = ''
det.price = Decimal('0.0')
return det
示例13: get_calls
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def get_calls(self):
txt = self._parse_pdf()
pages = txt.split("DEBIT")
pages.pop(0) # remove headers
details = []
for page in pages:
page = page.split("RÉGLO MOBILE")[0].split("N.B. Prévoir")[0] # remove footers
lines = page.split("\n")
lines = [x for x in lines if len(x) > 0] # Remove empty lines
numitems = (len(lines) + 1) / 4 # Each line has five columns
lines.pop(0) # remove the extra € symbol
modif = 0
i = 0
while i < numitems:
if modif != 0:
numitems = (len(lines) + 1 + modif) / 4
base = i * 4 - modif
dateop = base
corres = base + 1
duree = base + 2
price = base + 3
if "Changement vers le Forfait" in lines[base]:
modif += 1
i += 1
continue
# Special case with 5 columns, the operation date is not in the first one
if len(re.split("(\d+\/\d+\/\d+)", lines[dateop])) < 2:
lines[base + 1] = lines[base] + " " + lines[base + 1]
dateop = base + 1
corres = base + 2
duree = base + 3
price = base + 4
modif -= 1
detail = Detail()
splits = re.split("(\d+\/\d+\/\d+)", lines[dateop])
mydate = date(*reversed([int(x) for x in splits[1].split("/")]))
mytime = time(*[int(x) for x in splits[2].split(":")])
detail.datetime = datetime.combine(mydate, mytime)
if lines[corres] == "-":
lines[corres] = ""
if lines[duree] == "-":
lines[duree] = ""
detail.label = (
unicode(splits[0], encoding="utf-8", errors="replace") + u" " + lines[corres] + u" " + lines[duree]
)
# Special case with only 3 columns, we insert a price
if "Activation de votre ligne" in detail.label:
lines.insert(price, "0")
try:
detail.price = Decimal(lines[price].replace(",", "."))
except:
# In some special cases, there are no price column. Try to detect it
if "Inclus" not in lines[price]:
modif += 1
detail.price = Decimal(0)
details.append(detail)
i += 1
return sorted(details, key=_get_date, reverse=True)
示例14: get_balance
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
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
示例15: iter_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import label [as 别名]
def iter_details(self, sub):
self.logger.debug('call Browser.iter_details')
det = Detail()
det.id = sub.id
det.label = sub.label
det.infos = ''
det.price = Decimal('0.0')
yield det