A PyQT GUI application for converting InfoLease report outputs into Excel files. Handles parsing and summarizing. Learns where files are meant to be store and compiles monthly and yearly summaries.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
InfoLeaseExtract/create_dir_schema.py

61 lines
1.7 KiB

from pathlib import Path
from dataclasses import dataclass
import os
from datetime import datetime, timedelta, date
import shutil as sh
class Report:
def __init__(self, sample_file: str, sample_folder: str):
self.sample_file: Path = Path(sample_file)
self.folder_name: Path = Path(sample_folder)
def create_record(self, location: Path) -> Path|None:
# Create the folder
fp = Path(location, self.folder_name)
def main():
folders = [
Report(r"InputFiles\2022.09.02_ACH_C", r"ACH"),
Report(r"InputFiles\2022.09.02_PROGPAY_BER", r"CHECKS LIVE"),
Report(r"InputFiles\2022.09.01_VMCC_BER", r"CREDIT CARDS"),
Report(r"InputFiles\2022.09.02_DISPOSITION_PM_C", r"DISPOSITION REPORTING"),
Report(r"InputFiles\2022.09.02_LOCKBOX_094_C", r"LOCKBOX"),
Report(r"InputFiles\2022.09.02_PBP_EPAY_DPS_BER", r"PAY BY PHONE"),
Report(r"InputFiles\2022.12.30_PBP_EPAY_RETURNS_BER", r"RETURN REPORTING"),
Report(r"InputFiles\2022.09.01_PUB_WIRES_BER", r"WIRES"),
]
folder_date = date(2023,1,1)
while folder_date < date(2024,1,1):
year = folder_date.strftime("%Y")
month = folder_date.strftime("%Y.%m")
day = folder_date.strftime("%Y.%m.%d")
date_path = Path(year, month, day)
for rp in folders:
# Create folder
fold_p = Path(date_path, rp.folder_name)
print(f"Creating filepath: {fold_p}")
os.makedirs(fold_p, exist_ok=True)
file_p = Path(fold_p, rp.sample_file.name)
print(f"Cp {rp.sample_file} into {file_p}")
sh.copyfile(rp.sample_file, file_p )
folder_date += timedelta(days=1)
if __name__ == "__main__":
main()