diff --git a/postbank_csv_importer.py b/postbank_csv_importer.py index 171f7e0..850e8ca 100644 --- a/postbank_csv_importer.py +++ b/postbank_csv_importer.py @@ -24,25 +24,40 @@ class MyCSVImporter(importer.ImporterProtocol): return None def extract(self, file, existing_entries=None): + """Extracts entries from a files.""" entries = [] - print(f"Start extracting from: {file.name}") - print(f"Content will be processed from: {file.contents}") + with open(file.contents, encoding='utf-8') + as f: + reader = csv.reader(f, delimiter=',') + next(reader, None) + + for index, row in enumerate(reader): + if not row or not row[0]: + continue - meta = data.new_metadata(file.name, 0) - transaction = data.Transaction( - meta=meta, - date=data.D(2025, 7, 29), - flag='*', - payee="Dummy Payee", - narration="Dummy narration - REPLACE this", - tags=data.frozenset(['test']), - links=data.frozenset(), - postings=[ - data.Postings("Assets:Bank:POSTBANK", D("-100.00"), data.get_currency_meta('EUR'), None, None, None), - data.Postings("Expenses:Food", D("100.00"), data.get_currency_meta('EUR'), None, None, None), - ] - ) - entries.append(transaction) + datum_str = row[0] + omschrijving = row[1] + bedrag_str = row[2] + dag, maand, jaar = datum_str.split('.') + transactie_datum = data.D(int(jaar)), int(maand), int(dag)) + bedrag = D(bedrag_str) + + meta = data.new_metadata(file.name, index) + + transaction = data.Transaction( + meta=meta, + date=transactie_datum, + flag='*', + payee=omschrijving, + narration="", + tags=data.frozenset(), + links=data.frozenset(), + postings=[ + data.Posting(self.file_account(file)), - bedrag, data.get_currency_meta('EUR'), None, None, None), + data.Posting("Expenses:Uncategorized", bedrag, data.get_currency_meta('EUR'), None, None, None), + ] + ) + entries.append(transaction) return entries \ No newline at end of file