Qubit results parsing complete.
This commit is contained in:
@@ -18,7 +18,7 @@ from sqlalchemy.exc import ArgumentError
|
||||
from typing import Any, List, ClassVar
|
||||
from pathlib import Path
|
||||
from sqlalchemy.orm.relationships import _RelationshipDeclared
|
||||
from tools import report_result, list_sort_dict, jinja_template_loading, Report, Result, ctx
|
||||
from tools import report_result, list_sort_dict, jinja_template_loading, Report, Alert, ctx
|
||||
|
||||
# NOTE: Load testing environment
|
||||
if 'pytest' in sys.modules:
|
||||
@@ -364,7 +364,7 @@ class BaseClass(Base):
|
||||
logger.error(f"Error message: {type(e)}")
|
||||
logger.error(pformat(self.__dict__))
|
||||
self.__database_session__.rollback()
|
||||
report.add_result(Result(msg=e, status="Critical"))
|
||||
report.add_result(Alert(msg=e, status="Critical"))
|
||||
return report
|
||||
|
||||
@property
|
||||
|
||||
@@ -4,13 +4,14 @@ All kittype and reagent related models
|
||||
from __future__ import annotations
|
||||
import zipfile, logging, re, numpy as np
|
||||
from operator import itemgetter
|
||||
from pathlib import Path
|
||||
from pprint import pformat
|
||||
from sqlalchemy import Column, String, TIMESTAMP, JSON, INTEGER, ForeignKey, Interval, Table, FLOAT, func
|
||||
from sqlalchemy.ext.hybrid import hybrid_property
|
||||
from sqlalchemy.orm import relationship, validates, Query, declared_attr
|
||||
from sqlalchemy.ext.associationproxy import association_proxy
|
||||
from datetime import date, datetime, timedelta
|
||||
from tools import check_authorization, setup_lookup, Report, Result, check_regex_match, timezone, \
|
||||
from tools import check_authorization, setup_lookup, Report, Alert, check_regex_match, timezone, \
|
||||
jinja_template_loading, flatten_list
|
||||
from typing import List, Literal, Generator, Any, Tuple, TYPE_CHECKING
|
||||
from . import BaseClass, ClientLab, LogMixin
|
||||
@@ -926,10 +927,13 @@ class Procedure(BaseClass):
|
||||
logger.info(f"Add Results! {resultstype_name}")
|
||||
from backend.managers import results
|
||||
results_manager = getattr(results, f"{resultstype_name}Manager")
|
||||
rs = results_manager(procedure=self, parent=obj)
|
||||
rs = results_manager(procedure=self, parent=obj, fname=Path("C:\\Users\lwark\Documents\Submission_Forms\QubitData_18-09-2025_13-43-53.csv"))
|
||||
procedure = rs.procedure_to_pydantic()
|
||||
samples = rs.samples_to_pydantic()
|
||||
procedure_sql = procedure.to_sql()
|
||||
if procedure:
|
||||
procedure_sql = procedure.to_sql()
|
||||
else:
|
||||
return
|
||||
procedure_sql.save()
|
||||
for sample in samples:
|
||||
sample_sql = sample.to_sql()
|
||||
|
||||
@@ -18,7 +18,8 @@ from sqlalchemy.orm.attributes import flag_modified
|
||||
from sqlalchemy.ext.associationproxy import association_proxy
|
||||
from sqlalchemy.exc import OperationalError as AlcOperationalError, IntegrityError as AlcIntegrityError, StatementError
|
||||
from sqlite3 import OperationalError as SQLOperationalError, IntegrityError as SQLIntegrityError
|
||||
from tools import setup_lookup, jinja_template_loading, create_holidays_for_year, check_dictionary_inclusion_equality, is_power_user
|
||||
from tools import (setup_lookup, jinja_template_loading, create_holidays_for_year,
|
||||
check_dictionary_inclusion_equality, is_power_user, row_map)
|
||||
from datetime import datetime, date
|
||||
from typing import List, Literal, Generator, TYPE_CHECKING
|
||||
from pathlib import Path
|
||||
@@ -1865,6 +1866,16 @@ class ProcedureSampleAssociation(BaseClass):
|
||||
|
||||
results = relationship("Results", back_populates="sampleprocedureassociation") #: associated results
|
||||
|
||||
@property
|
||||
def well(self):
|
||||
if self.row > 0:
|
||||
if self.column > 0:
|
||||
return f"{row_map[self.row]}{self.column}"
|
||||
else:
|
||||
return self.row
|
||||
else:
|
||||
return None
|
||||
|
||||
@classmethod
|
||||
def query(cls, sample: Sample | str | None = None, procedure: Procedure | str | None = None, limit: int = 0,
|
||||
**kwargs):
|
||||
|
||||
Reference in New Issue
Block a user