From 5067678a8c62c5b77bc1edb5c7456d9c0b6d36d0 Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 21 Apr 2023 15:00:03 -0400 Subject: [PATCH] Project restructure to faciliate future work --- .gitignore | 9 +- compile_gui | 1 - ile_installer.py | 118 ------------------ src/assets/checkedCircle.svg | 44 +++++++ src/assets/copy.svg | 60 +++++++++ src/assets/excel.svg | 6 + src/assets/extract.ico | Bin 0 -> 7077 bytes src/assets/extract.svg | 1 + src/assets/fileSearch.svg | 4 + src/assets/folder.svg | 2 + src/assets/maximize.svg | 24 ++++ src/assets/process.svg | 1 + src/assets/settings.svg | 62 +++++++++ main.py => src/il_extract.py | 4 +- ILExtract.py => src/il_reports.py | 0 settings.json => src/settings.json | 0 .../ui_ile_main_window.py | 0 todo.md | 34 +++++ 18 files changed, 246 insertions(+), 124 deletions(-) delete mode 100644 compile_gui delete mode 100644 ile_installer.py create mode 100644 src/assets/checkedCircle.svg create mode 100644 src/assets/copy.svg create mode 100644 src/assets/excel.svg create mode 100644 src/assets/extract.ico create mode 100644 src/assets/extract.svg create mode 100644 src/assets/fileSearch.svg create mode 100644 src/assets/folder.svg create mode 100644 src/assets/maximize.svg create mode 100644 src/assets/process.svg create mode 100644 src/assets/settings.svg rename main.py => src/il_extract.py (99%) rename ILExtract.py => src/il_reports.py (100%) rename settings.json => src/settings.json (100%) rename ILE_MainWindow.py => src/ui_ile_main_window.py (100%) create mode 100644 todo.md diff --git a/.gitignore b/.gitignore index 833202d..695edac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,13 @@ build/ venv/ dist/ -inputFiles/ +IL_InputFiles/ __pycache__/ -2023/ *.spec *.log -*.xlsx \ No newline at end of file +*.xlsx +*.txt +*.md + +!todo.md \ No newline at end of file diff --git a/compile_gui b/compile_gui deleted file mode 100644 index 4e6afcf..0000000 --- a/compile_gui +++ /dev/null @@ -1 +0,0 @@ -pyinstaller -w --add-data "assets/extract.svg;." --add-data "assets/process.svg;." --add-data "assets/folder.svg;." --add-data "assets/copy.svg;." --add-data "settings.json;." -i assets/extract.ico -n "IL Extract" main.py \ No newline at end of file diff --git a/ile_installer.py b/ile_installer.py deleted file mode 100644 index c77096c..0000000 --- a/ile_installer.py +++ /dev/null @@ -1,118 +0,0 @@ -from os import system, getlogin -import os -from sys import exit -from zipfile import ZipFile -import win32com.client -from glob import glob -import re - -from itertools import cycle -from shutil import get_terminal_size -from threading import Thread -from time import sleep - -def error_exit(exception_info: str): - print(exception_info) - input("\nPress enter/return to exit") - exit(1) - - -class NoMatchingFile(Exception): - def __init__(self, search_file: str, found: list) -> None: - super().__init__(f"File: {search_file} was not found: {found}") - - -class Loader: - def __init__(self, desc="Loading...", end="Done!", timeout=0.1): - """ - A loader-like context manager - - Args: - desc (str, optional): The loader's description. Defaults to "Loading...". - end (str, optional): Final print. Defaults to "Done!". - timeout (float, optional): Sleep time between prints. Defaults to 0.1. - """ - self.desc = desc - self.end = end - self.timeout = timeout - - self._thread = Thread(target=self._animate, daemon=True) - self.steps = ["|", "/", "-", "\\",] - self.done = False - - def start(self): - self._thread.start() - return self - - def _animate(self): - for c in cycle(self.steps): - if self.done: - break - print(f"\r{self.desc} {c}", flush=True, end="") - sleep(self.timeout) - - def __enter__(self): - self.start() - - def stop(self): - self.done = True - cols = get_terminal_size((80, 20)).columns - print("\r" + " " * cols, end="", flush=True) - print(f"\r{self.end}", flush=True) - - def __exit__(self, exc_type, exc_value, tb): - # handle exceptions with those variables ^ - self.stop() - -ZIP_LOCATION = r"\\leafnow.com\public\Accounting Shared\ILE Apps" -APP_FOLDER = r"InfoLeaseExtract" - -try: - - user = getlogin() - install_folder = f"C:\\Users\\{user}\\AppData\\Local" - backup_install_folder = f"C:\\Users\\{user}\\Documents\\" - - print(f"Initalizing InfoLease Extract Installer\n#######################################") - # Find the newest version: - latest_version = glob(f"{ZIP_LOCATION}\\LATEST*") - if len(latest_version) == 0: - # Create Custom exception - raise NoMatchingFile(f"{ZIP_LOCATION}\\LATEST*", latest_version) - - latest_version: str = latest_version[0] - version = re.search("\d+\.\d+", latest_version).group() - print(f"Installing verion {version}...") - - with ZipFile(latest_version, 'r') as zipObj: - try: - with Loader("Setting up program files..."): - zipObj.extractall(install_folder) - except Exception as e: - error_exit(f"Failed to extract file ({latest_version}) to '{install_folder}' :\n{e}") - - print("Creating Desktop shortcut...") - try: - desktop = f"C:\\Users\\{user}\\OneDrive - LEAF Commercial Capital\\Desktop" - shell = win32com.client.Dispatch("WScript.Shell") - shortcut = shell.CreateShortCut(os.path.join(desktop, "IL Extract v3.10.lnk"),) - shortcut.Targetpath = f"{install_folder}\\IL Extract\\IL Extract.exe" - shortcut.IconLocation = f"{install_folder}\\IL Extract\\assets\\extract.ico" - shortcut.WorkingDirectory = f"{install_folder}\\IL Extract" - shortcut.save() - except: - try: - desktop = f"C:\\Users\\{user}\\Desktop" - shell = win32com.client.Dispatch("WScript.Shell") - shortcut = shell.CreateShortCut(os.path.join(desktop, "IL Extract v3.10.lnk"),) - shortcut.Targetpath = f"{install_folder}\\IL Extract\\IL Extract.exe" - shortcut.IconLocation = f"{install_folder}\\IL Extract\\assets\\extract.ico" - shortcut.WorkingDirectory = f"{install_folder}\\IL Extract" - shortcut.save() - except Exception as e: - error_exit(f"Failed to create shortcut. The application is still installed at:\n{install_folder}\\IL Extract.\nYou can manually create a shortcut if you would like.\n{e}") - - print(f"\nInstallation Completed Successfully!") - input("\nPress Enter/Return to exit.") -except Exception as e: - error_exit(f"High level exception:\n{e}") \ No newline at end of file diff --git a/src/assets/checkedCircle.svg b/src/assets/checkedCircle.svg new file mode 100644 index 0000000..e3afbdc --- /dev/null +++ b/src/assets/checkedCircle.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/copy.svg b/src/assets/copy.svg new file mode 100644 index 0000000..f23e8f2 --- /dev/null +++ b/src/assets/copy.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/excel.svg b/src/assets/excel.svg new file mode 100644 index 0000000..99c6cd6 --- /dev/null +++ b/src/assets/excel.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/extract.ico b/src/assets/extract.ico new file mode 100644 index 0000000000000000000000000000000000000000..faab094f52e1df2a7ae8ba76422413aba6c26f88 GIT binary patch literal 7077 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 literal 0 HcmV?d00001 diff --git a/src/assets/extract.svg b/src/assets/extract.svg new file mode 100644 index 0000000..c392432 --- /dev/null +++ b/src/assets/extract.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/fileSearch.svg b/src/assets/fileSearch.svg new file mode 100644 index 0000000..6e04a1c --- /dev/null +++ b/src/assets/fileSearch.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/folder.svg b/src/assets/folder.svg new file mode 100644 index 0000000..5488499 --- /dev/null +++ b/src/assets/folder.svg @@ -0,0 +1,2 @@ + + diff --git a/src/assets/maximize.svg b/src/assets/maximize.svg new file mode 100644 index 0000000..1d60cee --- /dev/null +++ b/src/assets/maximize.svg @@ -0,0 +1,24 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/process.svg b/src/assets/process.svg new file mode 100644 index 0000000..e20b6ba --- /dev/null +++ b/src/assets/process.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/settings.svg b/src/assets/settings.svg new file mode 100644 index 0000000..4debab2 --- /dev/null +++ b/src/assets/settings.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/main.py b/src/il_extract.py similarity index 99% rename from main.py rename to src/il_extract.py index 20da80f..23a746f 100644 --- a/main.py +++ b/src/il_extract.py @@ -1,11 +1,11 @@ -from ILE_MainWindow import Ui_MainWindow +from ui_ile_main_window import Ui_MainWindow import sys import os import pandas as pd import json from PyQt5 import QtWidgets from datetime import datetime as dt -import ILExtract as ilx +import il_reports as ilx #TODO redo aliasing from logging import debug, DEBUG, basicConfig diff --git a/ILExtract.py b/src/il_reports.py similarity index 100% rename from ILExtract.py rename to src/il_reports.py diff --git a/settings.json b/src/settings.json similarity index 100% rename from settings.json rename to src/settings.json diff --git a/ILE_MainWindow.py b/src/ui_ile_main_window.py similarity index 100% rename from ILE_MainWindow.py rename to src/ui_ile_main_window.py diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..1c382b1 --- /dev/null +++ b/todo.md @@ -0,0 +1,34 @@ +# Work List + +## Priority +- [ ] Bring back in consolidated reports + - [ ] ACH + - [ ] CHECKS_LIVE + - [ ] CREDIT + - [ ] LOCKBOX + - [ ] PAY BY PHONE + - [ ] WIRES + - [ ] RETURNS ACH + - [ ] RETURNS Portal *(new addition)* + +- [ ] Adjust pyinstaller spec for new file structure + +## Feature Goals +- [ ] Year Walkthrough report + +Generate monthly consolidated reports for each month in a year + - Must generate IL Extract report where nesseary + +- [ ] Users can add/create new reports + - This would be very complicated + +## Code Improvement +- [ ] Rework IL Report as an ABC and report types as sub-classes +- [ ] Rework config set up +- [ ] Simpify & standardize row/data parsing + + +## Completed last commit + + +--- \ No newline at end of file