Bug fixes and speed-ups

This commit is contained in:
Landon Wark
2023-09-12 12:33:33 -05:00
parent 5a978c9bff
commit 0c843d1561
7 changed files with 99 additions and 72 deletions

View File

@@ -16,7 +16,7 @@ from backend.db import (
)
# from .main_window_functions import *
from .all_window_functions import extract_form_info
from tools import check_if_app
from tools import check_if_app, Settings
from frontend.custom_widgets import SubmissionsSheet, AlertPop, AddReagentForm, KitAdder, ControlsDatePicker
import logging
from datetime import date
@@ -27,8 +27,8 @@ logger.info("Hello, I am a logger")
class App(QMainWindow):
def __init__(self, ctx: dict = {}):
def __init__(self, ctx: Settings = {}):
logger.debug(f"Initializing main window...")
super().__init__()
self.ctx = ctx
# indicate version and connected database in title bar
@@ -59,6 +59,7 @@ class App(QMainWindow):
"""
adds items to menu bar
"""
logger.debug(f"Creating menu bar...")
menuBar = self.menuBar()
fileMenu = menuBar.addMenu("&File")
# Creating menus using a title
@@ -79,6 +80,7 @@ class App(QMainWindow):
"""
adds items to toolbar
"""
logger.debug(f"Creating toolbar...")
toolbar = QToolBar("My main toolbar")
self.addToolBar(toolbar)
toolbar.addAction(self.addReagentAction)
@@ -89,6 +91,7 @@ class App(QMainWindow):
"""
creates actions
"""
logger.debug(f"Creating actions...")
self.importAction = QAction("&Import Submission", self)
self.importPCRAction = QAction("&Import PCR Results", self)
self.addReagentAction = QAction("Add Reagent", self)
@@ -106,6 +109,7 @@ class App(QMainWindow):
"""
connect menu and tool bar item to functions
"""
logger.debug(f"Connecting actions...")
self.importAction.triggered.connect(self.importSubmission)
self.importPCRAction.triggered.connect(self.importPCRResults)
self.addReagentAction.triggered.connect(self.add_reagent)
@@ -126,7 +130,7 @@ class App(QMainWindow):
"""
Show the 'about' message
"""
output = f"Version: {self.ctx['package'].__version__}\n\nAuthor: {self.ctx['package'].__author__['name']} - {self.ctx['package'].__author__['email']}\n\nCopyright: {self.ctx['package'].__copyright__}"
output = f"Version: {self.ctx.package.__version__}\n\nAuthor: {self.ctx.package.__author__['name']} - {self.ctx.package.__author__['email']}\n\nCopyright: {self.ctx.package.__copyright__}"
about = AlertPop(message=output, status="information")
about.exec()
@@ -289,6 +293,7 @@ class App(QMainWindow):
class AddSubForm(QWidget):
def __init__(self, parent):
logger.debug(f"Initializating subform...")
super(QWidget, self).__init__(parent)
self.layout = QVBoxLayout(self)

View File

@@ -17,7 +17,7 @@ from PyQt6.QtCore import Qt, QAbstractTableModel, QSortFilterProxyModel
from PyQt6.QtGui import QAction, QCursor, QPixmap, QPainter
from backend.db import submissions_to_df, lookup_submission_by_id, delete_submission_by_id, lookup_submission_by_rsl_num, hitpick_plate
from backend.excel import make_hitpicks
from tools import check_if_app
from tools import check_if_app, Settings
from tools import jinja_template_loading
from xhtml2pdf import pisa
from pathlib import Path
@@ -78,7 +78,7 @@ class SubmissionsSheet(QTableView):
"""
presents submission summary to user in tab1
"""
def __init__(self, ctx:dict) -> None:
def __init__(self, ctx:Settings) -> None:
"""
initialize
@@ -98,7 +98,7 @@ class SubmissionsSheet(QTableView):
"""
sets data in model
"""
self.data = submissions_to_df(ctx=self.ctx)
self.data = submissions_to_df(ctx=self.ctx, limit=100)
try:
self.data['id'] = self.data['id'].apply(str)
self.data['id'] = self.data['id'].str.zfill(3)
@@ -269,7 +269,7 @@ class SubmissionDetails(QDialog):
# get submision from db
data = lookup_submission_by_id(ctx=ctx, id=id)
logger.debug(f"Submission details data:\n{pprint.pformat(data.to_dict())}")
self.base_dict = data.to_dict()
self.base_dict = data.to_dict(full_data=True)
# don't want id
del self.base_dict['id']
# retrieve jinja template