X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d25e1c6ed14aa17a3fb5e8147355ee63ed5c5c3d..1959361810afbb5f1de88b7d717da32979c7235d:/src/pz/bank.py?ds=sidebyside diff --git a/src/pz/bank.py b/src/pz/bank.py index 40b985a13..99f7d85a8 100644 --- a/src/pz/bank.py +++ b/src/pz/bank.py @@ -1,28 +1,15 @@ import csv +from datetime import datetime from io import StringIO from django.conf import settings from django.http import HttpResponse from django.utils.safestring import mark_safe -from django.utils.translation import ugettext_lazy as _ def bank_export(modeladmin, request, queryset): response = HttpResponse(content_type='text/csv; charset=cp1250') response['Content-Disposition'] = 'attachment; filename=export.csv' writer = csv.writer(response) - writer.writerow([ - 'Identyfikator płatności (IDP)', - 'Nazwa Płatnika', - '', - 'Adres Płatnika Ulica + numer domu', - 'Adres Płatnika kod+miejscowość', - 'Numer kierunkowy banku Płatnika', - 'Numer rachunku bankowego Płatnika', - 'Identyfikator Odbiorcy (NIP Odbiorcy)', - 'Osobowość prawna Płatnika (Osoba fizyczna)' - ]) - - # TODO: ansi encoding for obj in queryset: writer.writerow([ @@ -39,15 +26,39 @@ def bank_export(modeladmin, request, queryset): return response +def parse_payment_feedback(f): + lines = csv.reader(StringIO(f.read().decode('cp1250'))) + for line in lines: + if not line: continue + print(line) + assert line[0] in ('1', '2') + if line[0] == '1': + # Totals line. + continue + booking_date = line[3] + booking_date = datetime.strptime(booking_date, '%Y%m%d') + payment_id = line[7] + is_dd = line[16] == 'DD' + realised = line[17] == '1' + reject_code = line[18] + yield payment_id, booking_date, is_dd, realised, reject_code + + + + def parse_export_feedback(f): + # The AU file. lines = csv.reader(StringIO(f.read().decode('cp1250'))) for line in lines: + if not line: continue payment_id = line[0] status = int(line[8]) comment = line[9] yield payment_id, status, comment + + def bank_order(date, sent_at, queryset): response = HttpResponse(content_type='application/octet-stream') response['Content-Disposition'] = 'attachment; filename=order.PLD'