Bernd Wurst commited on 2017-06-22 10:11:48
Zeige 5 geänderte Dateien mit 22 Einfügungen und 20 Löschungen.
... | ... |
@@ -27,11 +27,10 @@ class Table(object): |
27 | 27 |
'''bekommt einen Eintrag und liefert einen Eintrag wenn ok, wirft ansonsten ValueError. |
28 | 28 |
wird benutzt um z.B. die Summe auszurechnen oder ähnliches |
29 | 29 |
''' |
30 |
- k = entry.keys() |
|
31 | 30 |
e = entry |
32 |
- if not ('count' in k and 'subject' in k and 'price' in k and 'vat' in k): |
|
31 |
+ if not ('count' in e and 'subject' in e and 'price' in e and 'vat' in e): |
|
33 | 32 |
raise ValueError('Some data is missing!') |
34 |
- if not 'unit' in e.keys(): |
|
33 |
+ if not 'unit' in e: |
|
35 | 34 |
e['unit'] = None |
36 | 35 |
ret = {'count': e['count'], |
37 | 36 |
'unit': e['unit'], |
... | ... |
@@ -41,9 +40,9 @@ class Table(object): |
41 | 40 |
'vat': e['vat'], |
42 | 41 |
'tender': False, |
43 | 42 |
} |
44 |
- if 'tender' in e.keys(): |
|
43 |
+ if 'tender' in e: |
|
45 | 44 |
ret['tender'] = e['tender'] |
46 |
- if 'desc' in k: |
|
45 |
+ if 'desc' in e: |
|
47 | 46 |
ret['desc'] = e['desc'] |
48 | 47 |
return ret |
49 | 48 |
|
... | ... |
@@ -52,7 +51,7 @@ class Table(object): |
52 | 51 |
Typen sein''' |
53 | 52 |
d = self.validEntry(data) |
54 | 53 |
if d['vat'] != 0: |
55 |
- if not d['vat'] in self.vat.keys(): |
|
54 |
+ if not d['vat'] in self.vat: |
|
56 | 55 |
self.vat[d['vat']] = [0, chr(65+len(self.vat))] |
57 | 56 |
if 'tender' not in data or not data['tender']: |
58 | 57 |
self.vat[d['vat']][0] += d['total'] |
... | ... |
@@ -5,7 +5,7 @@ def setup(): |
5 | 5 |
from reportlab.pdfbase.ttfonts import TTFont |
6 | 6 |
from reportlab.pdfbase import pdfmetrics |
7 | 7 |
|
8 |
- if 'DejaVuSans' not in pdfmetrics._fonts.keys(): |
|
8 |
+ if 'DejaVuSans' not in pdfmetrics._fonts: |
|
9 | 9 |
pdfmetrics.registerFont(TTFont("DejaVuSans", "DejaVuSans.ttf")) |
10 | 10 |
pdfmetrics.registerFont(TTFont("DejaVuSans-Bold", "DejaVuSans-Bold.ttf")) |
11 | 11 |
pdfmetrics.registerFont(TTFont("DejaVuSans-Oblique", "DejaVuSans-Oblique.ttf")) |
... | ... |
@@ -4,9 +4,9 @@ import Invoice |
4 | 4 |
import re |
5 | 5 |
|
6 | 6 |
# our page size and margins |
7 |
-from metrics import * |
|
7 |
+from .metrics import * |
|
8 | 8 |
# our custom page style |
9 |
-from custom_elements import basicPage, firstPage, address_header |
|
9 |
+from .custom_elements import basicPage, firstPage, address_header |
|
10 | 10 |
|
11 | 11 |
# reportlab imports |
12 | 12 |
from reportlab.lib.units import cm |
... | ... |
@@ -120,7 +120,10 @@ def address(canvas, lines): |
120 | 120 |
|
121 | 121 |
|
122 | 122 |
def InvoiceToPDF(iv, bankdata=True): |
123 |
+ try: |
|
123 | 124 |
from StringIO import StringIO |
125 |
+ except ImportError: |
|
126 |
+ from io import StringIO |
|
124 | 127 |
fd = StringIO() |
125 | 128 |
canvas = Canvas.Canvas(fd, pagesize=A4) |
126 | 129 |
|
... | ... |
@@ -381,7 +384,7 @@ def InvoiceToPDF(iv, bankdata=True): |
381 | 384 |
y -= line_height + line_padding |
382 | 385 |
summaries = [] |
383 | 386 |
if len(part.vat) == 1: |
384 |
- vat = part.vat.keys()[0] |
|
387 |
+ vat = list(part.vat.keys())[0] |
|
385 | 388 |
(integer, decimals) = _niceCount( (vat * 100) ) |
386 | 389 |
vatstr = '%s' % integer |
387 | 390 |
if decimals: |
... | ... |
@@ -392,7 +395,7 @@ def InvoiceToPDF(iv, bankdata=True): |
392 | 395 |
summaries.append(('Im Rechnungsbetrag sind %s%% MwSt enthalten:' % vatstr, _formatPrice((part.sum/(vat+1))*vat))) |
393 | 396 |
summaries.append(('Nettobetrag:', _formatPrice(part.sum - (part.sum/(vat+1))*vat))) |
394 | 397 |
else: |
395 |
- for vat, vatdata in part.vat.iteritems(): |
|
398 |
+ for vat, vatdata in part.vat.items(): |
|
396 | 399 |
(integer, decimals) = _niceCount( (vat * 100) ) |
397 | 400 |
vatstr = '%s' % integer |
398 | 401 |
if decimals: |
... | ... |
@@ -409,14 +412,14 @@ def InvoiceToPDF(iv, bankdata=True): |
409 | 412 |
y -= line_height |
410 | 413 |
summaries = [] |
411 | 414 |
if len(part.vat) == 1: |
412 |
- vat = part.vat.keys()[0] |
|
415 |
+ vat = list(part.vat.keys())[0] |
|
413 | 416 |
(integer, decimals) = _niceCount( (vat * 100) ) |
414 | 417 |
vatstr = '%s' % integer |
415 | 418 |
if decimals: |
416 | 419 |
vatstr += ',%s' % decimals |
417 | 420 |
summaries.append(('zzgl. %s%% MwSt:' % vatstr, _formatPrice(vat*part.sum))) |
418 | 421 |
elif len(part.vat) > 1: |
419 |
- for vat, vatdata in part.vat.iteritems(): |
|
422 |
+ for vat, vatdata in part.vat.items(): |
|
420 | 423 |
(integer, decimals) = _niceCount( (vat * 100) ) |
421 | 424 |
vatstr = '%s' % integer |
422 | 425 |
if decimals: |
... | ... |
@@ -428,7 +431,7 @@ def InvoiceToPDF(iv, bankdata=True): |
428 | 431 |
canvas.drawRightString(left + 16.8*cm, y-font_height, line[1]) |
429 | 432 |
y -= line_height |
430 | 433 |
sum = part.sum |
431 |
- for vat, vatdata in part.vat.iteritems(): |
|
434 |
+ for vat, vatdata in part.vat.items(): |
|
432 | 435 |
sum += vat*vatdata[0] |
433 | 436 |
canvas.setFont(font+'-Bold', font_size) |
434 | 437 |
if iv.tender: |
... | ... |
@@ -82,10 +82,10 @@ def InvoiceTableToText(invoiceTable): |
82 | 82 |
ret.append('') |
83 | 83 |
summaries = [] |
84 | 84 |
if len(invoiceTable.vat) == 1: |
85 |
- vat = invoiceTable.vat.keys()[0] |
|
85 |
+ vat = list(invoiceTable.vat.keys())[0] |
|
86 | 86 |
summaries.append(u' Im Rechnungsbetrag sind %.1f%% MwSt enthalten (%s)' % (vat*100, format_price((invoiceTable.sum/(vat+1))*vat))) |
87 | 87 |
else: |
88 |
- for vat, vatdata in invoiceTable.vat.iteritems(): |
|
88 |
+ for vat, vatdata in invoiceTable.vat.items(): |
|
89 | 89 |
summaries.append(u' %s: Im Teilbetrag von %s sind %.1f%% MwSt enthalten (%s)' % (vatdata[1], format_price(vatdata[0]), vat*100, format_price((vatdata[0]/(vat+1))*vat))) |
90 | 90 |
summaries.sort() |
91 | 91 |
for line in summaries: |
... | ... |
@@ -94,16 +94,16 @@ def InvoiceTableToText(invoiceTable): |
94 | 94 |
ret.append((u'Nettobetrag: %11s' % format_price(invoiceTable.sum)).rjust(72)) |
95 | 95 |
summaries = [] |
96 | 96 |
if len(invoiceTable.vat) == 1: |
97 |
- vat = invoiceTable.vat.keys()[0] |
|
97 |
+ vat = list(invoiceTable.vat.keys())[0] |
|
98 | 98 |
summaries.append((u'zzgl. %.1f%% MwSt: %11s' % (vat*100, format_price(vat*invoiceTable.sum))).rjust(72)) |
99 | 99 |
elif len(invoiceTable.vat) > 1: |
100 |
- for vat, vatdata in invoiceTable.vat.iteritems(): |
|
100 |
+ for vat, vatdata in invoiceTable.vat.items(): |
|
101 | 101 |
summaries.append((u'zzgl. %4.1f%% MwSt (%s): %11s' % (vat*100, vatdata[1], format_price(vat*vatdata[0]))).rjust(72)) |
102 | 102 |
summaries.sort() |
103 | 103 |
for line in summaries: |
104 | 104 |
ret.append(line) |
105 | 105 |
sum = invoiceTable.sum |
106 |
- for vat, vatdata in invoiceTable.vat.iteritems(): |
|
106 |
+ for vat, vatdata in invoiceTable.vat.items(): |
|
107 | 107 |
sum += vat*vatdata[0] |
108 | 108 |
ret.append((u'Rechnungsbetrag: %11s' % format_price(sum)).rjust(72)) |
109 | 109 |
ret.append('') |
110 | 110 |