Further cleanup

This commit is contained in:
Landon Wark
2024-02-09 15:00:53 -06:00
parent a534d229a8
commit a7e915995e
8 changed files with 14 additions and 8 deletions

View File

@@ -4,7 +4,7 @@ from pathlib import Path
# Version of the realpython-reader package # Version of the realpython-reader package
__project__ = "submissions" __project__ = "submissions"
__version__ = "202402.1b" __version__ = "202402.2b"
__author__ = {"name":"Landon Wark", "email":"Landon.Wark@phac-aspc.gc.ca"} __author__ = {"name":"Landon Wark", "email":"Landon.Wark@phac-aspc.gc.ca"}
__copyright__ = "2022-2024, Government of Canada" __copyright__ = "2022-2024, Government of Canada"

View File

@@ -7,7 +7,7 @@ from sqlalchemy.orm import relationship, validates, Query
from sqlalchemy.ext.associationproxy import association_proxy, AssociationProxy from sqlalchemy.ext.associationproxy import association_proxy, AssociationProxy
from datetime import date from datetime import date
import logging, re import logging, re
from tools import check_authorization, setup_lookup, query_return, Report, Result, Settings from tools import check_authorization, setup_lookup, Report, Result, Settings
from typing import List from typing import List
from pandas import ExcelFile from pandas import ExcelFile
from pathlib import Path from pathlib import Path

View File

@@ -21,7 +21,7 @@ from openpyxl import Workbook
from openpyxl.worksheet.worksheet import Worksheet from openpyxl.worksheet.worksheet import Worksheet
from openpyxl.drawing.image import Image as OpenpyxlImage from openpyxl.drawing.image import Image as OpenpyxlImage
from . import BaseClass from . import BaseClass
from tools import check_not_nan, row_map, query_return, setup_lookup, jinja_template_loading, rreplace from tools import check_not_nan, row_map, setup_lookup, jinja_template_loading, rreplace
from datetime import datetime, date from datetime import datetime, date
from typing import List, Any, Tuple from typing import List, Any, Tuple
from dateutil.parser import parse from dateutil.parser import parse

View File

@@ -13,7 +13,7 @@ import logging, re
from collections import OrderedDict from collections import OrderedDict
from datetime import date from datetime import date
from dateutil.parser import parse, ParserError from dateutil.parser import parse, ParserError
from tools import check_not_nan, convert_nans_to_nones, is_missing, row_map from tools import check_not_nan, convert_nans_to_nones, row_map, is_missing
logger = logging.getLogger(f"submissions.{__name__}") logger = logging.getLogger(f"submissions.{__name__}")

View File

@@ -13,7 +13,7 @@ from backend.db.models import *
import logging import logging
from .pop_ups import AlertPop from .pop_ups import AlertPop
from .functions import select_open_file from .functions import select_open_file
from tools import readInChunks, Settings from tools import Settings
logger = logging.getLogger(f"submissions.{__name__}") logger = logging.getLogger(f"submissions.{__name__}")

View File

@@ -8,7 +8,7 @@ from PyQt6.QtCore import Qt, QAbstractTableModel, QSortFilterProxyModel
from PyQt6.QtGui import QAction, QCursor from PyQt6.QtGui import QAction, QCursor
from backend.db.models import BasicSubmission from backend.db.models import BasicSubmission
from backend.excel import make_report_html, make_report_xlsx from backend.excel import make_report_html, make_report_xlsx
from tools import Report, Result, get_first_blank_df_row, row_map from tools import Report, Result, row_map
from xhtml2pdf import pisa from xhtml2pdf import pisa
from .functions import select_save_file, select_open_file from .functions import select_save_file, select_open_file
from .misc import ReportDatePicker from .misc import ReportDatePicker

View File

@@ -137,12 +137,12 @@ class SubmissionFormContainer(QWidget):
return return
# create sheetparser using excel sheet and context from gui # create sheetparser using excel sheet and context from gui
try: try:
self.prsr = SheetParser(ctx=self.app.ctx, filepath=fname) self.prsr = SheetParser(filepath=fname)
except PermissionError: except PermissionError:
logger.error(f"Couldn't get permission to access file: {fname}") logger.error(f"Couldn't get permission to access file: {fname}")
return return
except AttributeError: except AttributeError:
self.prsr = SheetParser(ctx=self.app.ctx, filepath=fname) self.prsr = SheetParser(filepath=fname)
logger.debug(f"Submission dictionary:\n{pformat(self.prsr.sub)}") logger.debug(f"Submission dictionary:\n{pformat(self.prsr.sub)}")
self.pyd = self.prsr.to_pydantic() self.pyd = self.prsr.to_pydantic()
logger.debug(f"Pydantic result: \n\n{pformat(self.pyd)}\n\n") logger.debug(f"Pydantic result: \n\n{pformat(self.pyd)}\n\n")

View File

@@ -94,6 +94,12 @@ def convert_nans_to_nones(input_str) -> str|None:
return input_str return input_str
return None return None
def is_missing(value:Any) -> Tuple[Any, bool]:
if check_not_nan(value):
return value, False
else:
return convert_nans_to_nones(value), True
def check_regex_match(pattern:str, check:str) -> bool: def check_regex_match(pattern:str, check:str) -> bool:
""" """
Determines if a pattern matches a str Determines if a pattern matches a str