Further cleanup
This commit is contained in:
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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__}")
|
||||||
|
|
||||||
|
|||||||
@@ -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__}")
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user