Beginning prelim code cleanup.

This commit is contained in:
lwark
2025-03-07 10:36:27 -06:00
parent 919376c1ce
commit 942c46e8b2
3 changed files with 3 additions and 61 deletions

View File

@@ -8,7 +8,7 @@ from pydantic import BaseModel
from sqlalchemy import Column, INTEGER, String, JSON
from sqlalchemy.orm import DeclarativeMeta, declarative_base, Query, Session, InstrumentedAttribute, ColumnProperty
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.exc import ArgumentError, InvalidRequestError
from sqlalchemy.exc import ArgumentError
from typing import Any, List
from pathlib import Path
@@ -156,9 +156,6 @@ class BaseClass(Base):
Any: Subclass of this object
"""
# if not name:
# logger.warning("You need to include a name of what you're looking for.")
# return cls
if " " in name:
search = name.title().replace(" ", "")
else:
@@ -343,7 +340,6 @@ class BaseClass(Base):
"""
logger.debug(f"Incoming attributes: {attributes}")
for key, value in attributes.items():
# print(getattr(self.__class__, key).property)
if value.lower() == "none":
value = None
logger.debug(f"Attempting to grab attribute: {key}")
@@ -355,7 +351,6 @@ class BaseClass(Base):
else:
filter = class_attr.property
match filter:
# match class_attr:
case ColumnProperty():
match class_attr.type:
case INTEGER():
@@ -397,8 +392,6 @@ class BaseClass(Base):
"""
Custom dunder method to handle potential list relationship issues.
"""
# if key != "_sa_instance_state":
# logger.debug(f"Attempting to set {key} to {pformat(value)}")
try:
field_type = getattr(self.__class__, key)
except AttributeError:

View File

@@ -1,7 +1,5 @@
from __future__ import annotations
import logging
import sys
import logging, sys
from pydantic import BaseModel, field_validator, Field
from typing import List, ClassVar
from backend.db.models import *
@@ -37,7 +35,6 @@ class BaseOmni(BaseModel):
"""
logger.debug(f"Incoming attributes: {attributes}")
for key, value in attributes.items():
# print(getattr(self.__class__, key).property)
if value.lower() == "none":
value = None
logger.debug(f"Attempting to grab attribute: {key}")
@@ -127,7 +124,6 @@ class BaseOmni(BaseModel):
if issubclass(value.__class__, self.__class__):
value = value.to_sql()
value = [value]
# value = list(set(value))
logger.debug(f"Final value for {key}: {value}")
return super().__setattr__(key, value)
else:
@@ -243,7 +239,6 @@ class OmniSubmissionTypeKitTypeAssociation(BaseOmni):
mutable_cost_column: float = Field(default=0.0, description="property")
mutable_cost_sample: float = Field(default=0.0, description="property")
constant_cost: float = Field(default=0.0, description="property")
# processes: List[OmniProcess] | List[str] = Field(default=[], description="relationship", title="Process")
def __repr__(self):
if isinstance(self.submissiontype, str):
@@ -313,7 +308,6 @@ class OmniSubmissionTypeKitTypeAssociation(BaseOmni):
else:
kittype = KitType.query(name=self.kittype)
# logger.debug(f"Self kittype: {self.kittype}")
# kittype = KitType.query(name=self.kittype)
logger.debug(f"Query or create with {kittype}, {submissiontype}")
instance, is_new = self.class_object.query_or_create(kittype=kittype, submissiontype=submissiontype)
instance.mutable_cost_column = self.mutable_cost_column
@@ -352,7 +346,6 @@ class OmniKitTypeReagentRoleAssociation(BaseOmni):
kit_type = self.kit_type.name
else:
kit_type = self.kit_type
# name = f"{kit_type} -> {self.reagent_role}"
# logger.debug(f"Using name: {name}")
if isinstance(self.reagent_role, OmniReagentRole):
reagent_role = self.reagent_role.name
@@ -360,7 +353,6 @@ class OmniKitTypeReagentRoleAssociation(BaseOmni):
reagent_role = self.reagent_role
return dict(
reagent_role=reagent_role,
# name=self.reagent_role.name,
submission_type=submission_type,
kit_type=kit_type
)
@@ -381,7 +373,6 @@ class OmniKitTypeReagentRoleAssociation(BaseOmni):
logger.debug(f"KTRRAssoc uses: {self.uses}")
instance.uses = self.uses
logger.debug(f"KitTypeReagentRoleAssociation: {pformat(instance.__dict__)}")
return instance
@@ -464,8 +455,6 @@ class OmniTipRole(BaseOmni):
instance, new = self.class_object.query_or_create(name=self.name)
for tips in self.tips:
tips.to_sql()
# if new_assoc not in instance.instances:
# instance.instances.append(new_assoc)
return instance

View File

@@ -1,8 +1,7 @@
"""
Provides a screen for managing all attributes of a database object.
"""
import json, logging
import sys
import json, logging, sys
from json.decoder import JSONDecodeError
from datetime import datetime, timedelta
from pprint import pformat
@@ -108,7 +107,6 @@ class ManagerWindow(QDialog):
self.options.setEditable(False)
self.options.setMinimumWidth(self.minimumWidth())
self.layout.addWidget(self.options, 1, 0, 1, 1)
# if len(options) > 0:
self.add_button = QPushButton("Add New")
self.layout.addWidget(self.add_button, 1, 1, 1, 1)
self.add_button.clicked.connect(self.add_new)
@@ -191,7 +189,6 @@ class ManagerWindow(QDialog):
results = [item.parse_form() for item in self.findChildren(EditRelationship)]
for result in results:
logger.debug(f"Incoming relationship result: {result}")
# if not getattr(self.omni_object, result['field']):
setattr(self.omni_object, result['field'], result['value'])
# logger.debug(f"Set result: {getattr(self.omni_object, result['field'])}")
# logger.debug(f"Instance coming from parsed form: {self.omni_object.__dict__}")
@@ -242,8 +239,6 @@ class EditProperty(QWidget):
self.widget.setValue(value.days)
case dict():
self.widget = JsonEditButton(parent=self, key=key, value=value)
# self.widget.viewButton.clicked.connect(lambda: self.parent().toggle_textedit(self.widget))
# self.widget.addButton.clicked.connect(lambda: self.parent().add_to_json(self.widget))
case bytes():
self.widget = QLabel("BLOB Under construction")
case _:
@@ -281,19 +276,12 @@ class EditRelationship(QWidget):
self.label = QLabel(key.title().replace("_", " "))
self.setObjectName(key) #: key is the name of the relationship this represents
logger.debug(f"Checking relationship for {self.parent().class_object}: {key}")
# try:
# self.relationship = getattr(self.parent().instance.__class__, key)
self.relationship = getattr(self.parent().class_object, key)
#: relationship object for type differentiation
# except AttributeError:
# logger.warning(f"Could not get relationship for: {key}.")
# self.relationship = None
self.widget = QTableView()
self.add_button = QPushButton("Add New")
self.add_button.clicked.connect(self.add_new)
self.existing_button = QPushButton("Add Existing")
self.existing_button.clicked.connect(self.add_existing)
# self.existing_button.setEnabled(self.class_object.level == 1)
if not isinstance(value, list):
if value not in [None, ""]:
value = [value]
@@ -305,15 +293,6 @@ class EditRelationship(QWidget):
logger.debug(f"Parent manager: {self.parent().manager}")
checked_manager, is_primary = check_object_in_manager(self.parent().manager, self.objectName())
if checked_manager:
logger.debug(f"Checked manager for {self.objectName()}: {checked_manager}")
# logger.debug(f"Omni will inherit: {self.class_object.omni_inheritable} from {self.parent().class_object}")
# if checked_manager is not None:# and not self.data:# and self.objectName() in self.parent().class_object.omni_inheritable:
# # logger.debug(f"Setting {checked_manager} in self.data")
# # if isinstance(checked_manager, InstrumentedList):
# # self.data = [item.to_omni() for item in checked_manager]
# # else:
# # self.data = [checked_manager.to_omni()]
# self.data = [checked_manager]
if not self.data:
self.data = [checked_manager]
try:
@@ -367,7 +346,6 @@ class EditRelationship(QWidget):
# logger.debug(f"Creating manager window for {instance}")
manager = self.parent().manager
# logger.debug(f"Managers going into add new: {managers}")
# dlg = ManagerWindow(self.parent(), object_type=instance.__class__, extras=[], manager=manager, add_edit="add")
dlg = ManagerWindow(self.parent(), instance=instance, extras=[], manager=manager, add_edit=add_edit)
if dlg.exec():
new_instance = dlg.parse_form()
@@ -378,7 +356,6 @@ class EditRelationship(QWidget):
else:
instance.__dict__.update(new_instance.__dict__)
logger.debug(f"Final instance: {pformat(instance.__dict__)}")
# self.parent().instance.save()
self.parent().update_data()
def add_existing(self):
@@ -392,7 +369,6 @@ class EditRelationship(QWidget):
if isinstance(instance, list):
instance = instance[0]
self.parent().omni_object.__setattr__(self.objectName(), instance.to_omni())
# self.parent().instance.save()
self.parent().update_data()
def set_data(self) -> None:
@@ -401,7 +377,6 @@ class EditRelationship(QWidget):
"""
# logger.debug(f"Self.data: {self.data}")
try:
# records = [{k: v['instance_attr'] for k, v in item.omnigui_instance_dict.items()} for item in self.data]
records = [item.to_dataframe_dict() for item in self.data]
except AttributeError:
records = []
@@ -423,7 +398,6 @@ class EditRelationship(QWidget):
self.widget.resizeRowsToContents()
self.widget.setSortingEnabled(True)
self.widget.doubleClicked.connect(self.parse_row)
# self.update_buttons()
def contextMenuEvent(self, event):
"""
@@ -469,18 +443,8 @@ class EditRelationship(QWidget):
def remove_item(self, object):
logger.debug(f"Attempting to remove {object} from {self.parent().instance.__dict__}")
# editor = getattr(self.parent().instance, self.objectName().lower())
editor = getattr(self.parent().omni_object, self.objectName().lower())
logger.debug(f"Editor: {editor}")
# if object == self.parent().manager:
# logger.error(f"Can't remove manager object.")
# return
# logger.debug(f"Object: {object}")
# try:
# self.data.remove(object)
# except (AttributeError, ValueError) as e:
# logger.error(f"Couldn't remove object from self.data due to: {e}")
# self.data = []
try:
# logger.debug(f"Using remove technique")
editor.remove(object)
@@ -492,8 +456,6 @@ class EditRelationship(QWidget):
logger.debug(f"Setting {self.objectName()} to {editor}")
setattr(self.parent().omni_object, self.objectName().lower(), editor)
logger.debug(f"After set: {getattr(self.parent().omni_object, self.objectName().lower())}")
# self.parent().instance.save()
# self.parent().update_data()
self.set_data()
self.update_buttons()
@@ -551,7 +513,6 @@ class JsonEditButton(QWidget):
def toggle_textedit(self):
self.edit_box.setVisible(not self.edit_box.isVisible())
# data = getattr(self.omni_object, name)
# logger.debug(f"Data: {data}")
data = json.dumps(self.data, indent=4)
self.edit_box.widget.setText(data)
@@ -624,7 +585,6 @@ class JsonEditScreen(QDialog):
output.append(value)
else:
raise ValueError(f"Inappropriate data type: {type(self.json_field)}")
# output[key] = value
return output