generated from felixm/defaultpy
Refactor ledger processing to explicit mapping which will make automated classfication easy
This commit is contained in:
42
toldg.py
Normal file
42
toldg.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import os.path
|
||||
import csv
|
||||
import logging
|
||||
import src.utils
|
||||
import src.process
|
||||
from src.models import Transaction
|
||||
from rich.logging import RichHandler
|
||||
from typing import List
|
||||
|
||||
|
||||
def write_mappings(unmatched_transactions: List[Transaction], mappings_directory: str):
|
||||
""" Write mappings for unmatched expenses for update by the user. """
|
||||
if not unmatched_transactions:
|
||||
return
|
||||
fn = os.path.join(mappings_directory, "unmatched.csv")
|
||||
with open(fn, 'a') as f:
|
||||
writer = csv.writer(f)
|
||||
for t in unmatched_transactions:
|
||||
e = ["expenses", t.description,
|
||||
f"credit={t.credit};date={t.date}"]
|
||||
writer.writerow(e)
|
||||
|
||||
|
||||
def init_logging():
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format="%(message)s",
|
||||
datefmt="[%X]",
|
||||
handlers=[RichHandler()],
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
init_logging()
|
||||
config = src.utils.load_config()
|
||||
src.utils.remove_if_exists(config.output_file)
|
||||
src.process.process_ldg_files(config)
|
||||
src.process.process_csv_files(config)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user