Ongoing enhancements
This commit is contained in:
@@ -6,6 +6,8 @@ from models.models import Payments_CSV, Payments, Members
|
||||
from time import time
|
||||
import logging, sys
|
||||
import datetime
|
||||
from config_loader import load_config
|
||||
|
||||
|
||||
def assign_by_reference(payments: Payments_CSV):
|
||||
for payment in payments:
|
||||
@@ -33,7 +35,7 @@ def assign_by_reference(payments: Payments_CSV):
|
||||
db.rollback()
|
||||
|
||||
def assign_by_name(payments: Payments_CSV):
|
||||
year = 2025 # pc_reference is empty
|
||||
# pc_reference is empty or starts with 'Mitglied'
|
||||
removables = ('Dipl.', 'Ing.', 'Mag.')
|
||||
for payment in payments:
|
||||
logging.debug(f'payment.pc_intended {payment.pc_intended}')
|
||||
@@ -105,13 +107,17 @@ if __name__ == "__main__":
|
||||
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
|
||||
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
|
||||
|
||||
cfg = load_config()
|
||||
year = cfg['year']
|
||||
|
||||
db = SessionLocal()
|
||||
Base.metadata.create_all(bind=engine)
|
||||
|
||||
# 1. create missing reference by name
|
||||
#TODO: "None" shouldn't be a string
|
||||
#payments = db.query(Payments_CSV).filter(Payments_CSV.pc_reference.is_(None), Payments_CSV.pc_processed!=True).all()
|
||||
payments = db.query(Payments_CSV).filter(Payments_CSV.pc_processed!=True).all()
|
||||
payments = db.query(Payments_CSV).filter(
|
||||
(Payments_CSV.pc_reference.is_(None) | Payments_CSV.pc_reference.like('Mitglied%')),
|
||||
Payments_CSV.pc_processed!=True
|
||||
).all()
|
||||
assign_by_name(payments)
|
||||
|
||||
# 2. assign payment by reference
|
||||
|
||||
@@ -93,6 +93,8 @@ if __name__ == "__main__":
|
||||
if len(new_list) > 0:
|
||||
outData.append([i[0], new_list[0].get('Auftraggeber'), new_list[0].get('Zahlungsreferenz'), new_list[0].get('Verwendungszweck'), new_list[0].get('IBAN'), i[2], i[3].replace(',','.'), i[4], i[5]])
|
||||
|
||||
# Replace None with empty string before saving
|
||||
outData = [['' if x is None else x for x in row] for row in outData]
|
||||
savetxt(target_csv, outData, delimiter=";", encoding='utf-8', header='valuta_date;client;reference;intended;IBAN;entry_date;amount;currency;timestamp', fmt='%s')
|
||||
bak_dir = os.path.join(os.path.dirname(source_csv), "bak")
|
||||
os.makedirs(bak_dir, exist_ok=True)
|
||||
|
||||
Reference in New Issue
Block a user