return None
def get_price(str):
+ str = str.replace(', ', ',')
money_re = re.compile('^-?\d+,\d\d$')
fields = str.split()
fields.reverse()
#other = next_price(f, 'Sonstige Leistungen des Konzerns')
#if other:
# common = common + other
-bill_vat = next_price(f, 'Umsatzsteuer 16 %')
+bill_vat = next_price(f, 'Umsatzsteuer 19 %')
bill_gross = next_price(f, 'Rechnungsbetrag')
-bill_item_re = re.compile('^\s*\d+\.\s*.*16')
+bill_item_re = re.compile('^\s*\d+\.\s*.*19')
# Telekom
assert search_substr(f, 'Summe Monatliche Beträge')
-assert search_substr(f, ':::::::::::::')
+assert search_substr(f, '...........')
+assert search_substr(f, '...........')
+
for l in f:
- if l.find('::::::::::::') >= 0:
+ if l.find('..........') >= 0:
break
if bill_item_re.match(l):
if l.find('Summe Verbindungen für oben angegebene Rufnummer') >= 0:
cur_number = None
if l.find('Rufnummer (') >= 0:
- cur_number = l.strip()
+ cur_number = l.strip().split(' ')[0].strip()
print l.strip(), ' -> switching to', cur_number
+assert search_substr(f, '...........')
+
# other companies
if search_substr(f, 'Beträge anderer Anbieter'):
for l in f:
print 'adding %.2f to %s for "%s"' % (p, cur_number, l.strip())
price[cur_number] = price.setdefault(cur_number, 0) + p
if l.find('Rufnummer (') >= 0:
- cur_number = l.strip()
+ cur_number = l.strip().split(' ')[0].strip()
print l.strip(), ' -> switching to', cur_number
print '----------------------------------------'
print 'Verrechnung allgemeine Gebühren (Aufschlag für jeden: %.2f)' % common
print_price(price)
-vat = sum * 0.16
+vat = sum * 0.19
gross = sum + vat
for k, v in price.iteritems():
- price[k] *= 1.16
+ price[k] *= 1.19
print '----------------------------------------'
print 'Aufschlag Mehrwertsteuer:'