本文整理汇总了Python中weboob.capabilities.bill.Detail.id方法的典型用法代码示例。如果您正苦于以下问题:Python Detail.id方法的具体用法?Python Detail.id怎么用?Python Detail.id使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类weboob.capabilities.bill.Detail
的用法示例。
在下文中一共展示了Detail.id方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _iter_divs
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [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 id [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 id [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 id [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 id [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: iter_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [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
示例7: iter_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [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: iter_payment_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [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
示例9: get_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [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
示例10: get_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [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
示例11: iter_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [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
示例12: get_balance
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [as 别名]
def get_balance(self, subscription):
if not isinstance(subscription, Subscription):
subscription = self.get_subscription(subscription)
balance = Detail()
balance.id = "%s-balance" % subscription.id
balance.price = subscription._balance
balance.label = u"Balance %s" % subscription.id
balance.currency = u'EUR'
return balance
示例13: iter_payments
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [as 别名]
def iter_payments(self, sub):
table = self.browser.page.document.xpath('//table[contains(@summary, "Informations sur mon")]')[0]
for tr in table.xpath('.//tr'):
list_tds = tr.xpath('.//td')
if len(list_tds) == 0:
continue
date = datetime.strptime(self.parser.tocleanstring(list_tds[0]), "%d/%m/%Y").date()
amount = self.parser.tocleanstring(list_tds[1])
if amount is None:
continue
det = Detail()
det.id = sub._id + "." + date.strftime("%Y%m%d")
det.price = Decimal(re.sub('[^\d,-]+', '', amount).replace(',', '.'))
det.datetime = date
det.label = unicode(self.parser.tocleanstring(list_tds[2]))
yield det
示例14: iter_payment_details
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [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"]/h3')) > idx
or self.document.xpath('//table[@id="DetailPaiement3"]') > idx
):
id_str = self.document.xpath('//div[@class="centrepage"]/h3')[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[@id="DetailPaiement3"]')[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
示例15: iter_history
# 需要导入模块: from weboob.capabilities.bill import Detail [as 别名]
# 或者: from weboob.capabilities.bill.Detail import id [as 别名]
def iter_history(self):
table = self.document.xpath('//table[contains(concat(" ", @class, " "), " cTableauTriable ")]')[0].xpath('.//tr')
for tr in table:
list_a = tr.xpath('.//a')
if len(list_a) == 0:
continue
date = tr.xpath('.//td')[0].text.strip()
lot = list_a[0].text
factures = tr.xpath('.//div[@class="cAlignGauche"]/a')
factures_lbl = ''
for a in factures:
factures_lbl = factures_lbl + a.text + ' '
montant = tr.xpath('.//div[@class="cAlignDroite"]')[0].text.strip()
det = Detail()
det.id = lot
det.label = lot
det.infos = factures_lbl
det.datetime = datetime.strptime(date, "%d/%m/%Y").date()
det.price = Decimal(montant.replace(',', '.'))
yield det