]> piware.de Git - bin.git/blobdiff - trechnung
postinst-setup: install complete texlive
[bin.git] / trechnung
index bd120e97b74c9fb64424bfd91955b60c1bf8c8ae..5c15c44c2175e56e27d21069ff5837626cde0dd0 100755 (executable)
--- a/trechnung
+++ b/trechnung
@@ -11,6 +11,7 @@ def search_substr(f, str):
     return None
 
 def get_price(str):
+    str = str.replace(', ', ',')
     money_re = re.compile('^-?\d+,\d\d$')
     fields = str.split()
     fields.reverse()
@@ -53,16 +54,18 @@ common = next_price(f, 'Monatliche Beträge')
 #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):
@@ -73,9 +76,11 @@ for l in f:
     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:
@@ -87,7 +92,7 @@ if search_substr(f, 'Beträge anderer Anbieter'):
             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 '----------------------------------------'
@@ -105,11 +110,11 @@ 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:'