diff --git a/src/submissions/__init__.py b/src/submissions/__init__.py index af20f70..34b1874 100644 --- a/src/submissions/__init__.py +++ b/src/submissions/__init__.py @@ -4,7 +4,7 @@ from pathlib import Path # Version of the realpython-reader package __project__ = "submissions" -__version__ = "202402.1b" +__version__ = "202402.2b" __author__ = {"name":"Landon Wark", "email":"Landon.Wark@phac-aspc.gc.ca"} __copyright__ = "2022-2024, Government of Canada" diff --git a/src/submissions/backend/db/models/kits.py b/src/submissions/backend/db/models/kits.py index c6834e9..08e04e0 100644 --- a/src/submissions/backend/db/models/kits.py +++ b/src/submissions/backend/db/models/kits.py @@ -7,7 +7,7 @@ from sqlalchemy.orm import relationship, validates, Query from sqlalchemy.ext.associationproxy import association_proxy, AssociationProxy from datetime import date 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 pandas import ExcelFile from pathlib import Path diff --git a/src/submissions/backend/db/models/submissions.py b/src/submissions/backend/db/models/submissions.py index 00abad9..f7047fc 100644 --- a/src/submissions/backend/db/models/submissions.py +++ b/src/submissions/backend/db/models/submissions.py @@ -21,7 +21,7 @@ from openpyxl import Workbook from openpyxl.worksheet.worksheet import Worksheet from openpyxl.drawing.image import Image as OpenpyxlImage 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 typing import List, Any, Tuple from dateutil.parser import parse diff --git a/src/submissions/backend/excel/parser.py b/src/submissions/backend/excel/parser.py index c9303b5..7b38b41 100644 --- a/src/submissions/backend/excel/parser.py +++ b/src/submissions/backend/excel/parser.py @@ -13,7 +13,7 @@ import logging, re from collections import OrderedDict from datetime import date 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__}") diff --git a/src/submissions/frontend/widgets/misc.py b/src/submissions/frontend/widgets/misc.py index 73a4862..aef9234 100644 --- a/src/submissions/frontend/widgets/misc.py +++ b/src/submissions/frontend/widgets/misc.py @@ -13,7 +13,7 @@ from backend.db.models import * import logging from .pop_ups import AlertPop from .functions import select_open_file -from tools import readInChunks, Settings +from tools import Settings logger = logging.getLogger(f"submissions.{__name__}") diff --git a/src/submissions/frontend/widgets/submission_table.py b/src/submissions/frontend/widgets/submission_table.py index 9f084d2..9031aa7 100644 --- a/src/submissions/frontend/widgets/submission_table.py +++ b/src/submissions/frontend/widgets/submission_table.py @@ -8,7 +8,7 @@ from PyQt6.QtCore import Qt, QAbstractTableModel, QSortFilterProxyModel from PyQt6.QtGui import QAction, QCursor from backend.db.models import BasicSubmission 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 .functions import select_save_file, select_open_file from .misc import ReportDatePicker diff --git a/src/submissions/frontend/widgets/submission_widget.py b/src/submissions/frontend/widgets/submission_widget.py index 8f8fdd8..3a234ca 100644 --- a/src/submissions/frontend/widgets/submission_widget.py +++ b/src/submissions/frontend/widgets/submission_widget.py @@ -137,12 +137,12 @@ class SubmissionFormContainer(QWidget): return # create sheetparser using excel sheet and context from gui try: - self.prsr = SheetParser(ctx=self.app.ctx, filepath=fname) + self.prsr = SheetParser(filepath=fname) except PermissionError: logger.error(f"Couldn't get permission to access file: {fname}") return 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)}") self.pyd = self.prsr.to_pydantic() logger.debug(f"Pydantic result: \n\n{pformat(self.pyd)}\n\n") diff --git a/src/submissions/tools.py b/src/submissions/tools.py index c15821f..5a483f3 100644 --- a/src/submissions/tools.py +++ b/src/submissions/tools.py @@ -94,6 +94,12 @@ def convert_nans_to_nones(input_str) -> str|None: return input_str 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: """ Determines if a pattern matches a str