crud recipe delete fix and crud custom table methods, tecna time based fail on autotest
This commit is contained in:
parent
3440dc331b
commit
77825b21ff
4
TODO.txt
4
TODO.txt
|
|
@ -1,4 +0,0 @@
|
|||
? Controllo elettrovalvole di selezione alta/bassa pressione tramite I/O digitali
|
||||
|
||||
Ciclo di lavoro ordinario:
|
||||
Salvataggio dati dei test su portale di tracciabilità www.r5portal.it sia OK che scarti
|
||||
|
|
@ -303,7 +303,7 @@ class TecnaMarpossProvasetT3(ModbusComponent):
|
|||
# **{769 - 1 + i: (recipe_name[i * 2 + 1] << 8) + recipe_name[i * 2] for i in range(8)}, # print field 2
|
||||
"Print options": 0b0000000000000000 | self.saver_label_count << 12 | self.saver_print_on_fail << 8 | self.saver_label_template,
|
||||
"Test type": "Leak Test",
|
||||
"Test flags": 0b0110000001011100,
|
||||
"Test flags": 0b0110000001011100 if step.spec.get("autotest", False) is not True else 0b0110000001010100,
|
||||
"T0 - Pre-filling time": step.spec["pre_filling_time"],
|
||||
"P0 - Pre-filling pressure": step.spec["pre_filling_pressure"],
|
||||
"T1 - Filling time": step.spec["filling_time"],
|
||||
|
|
|
|||
|
|
@ -22,7 +22,10 @@ class Crud_DB:
|
|||
@db.atomic()
|
||||
def commit(self, data, deleted_rows=None):
|
||||
if deleted_rows is not None:
|
||||
deleted = self.table_model.delete().where(self.table_pk << deleted_rows).execute()
|
||||
if hasattr(self.table_model, "crud_delete"):
|
||||
deleted = self.table_model.crud_delete(deleted_rows)
|
||||
else:
|
||||
deleted = self.table_model.delete().where(self.table_pk << deleted_rows).execute()
|
||||
if deleted != len(deleted_rows):
|
||||
raise AssertionError(f"deleted {deleted} rows instead of the expected {len(deleted_rows)}")
|
||||
# SQLITE DOES NOT SUPPORT UPDATE, ONLY REPLACE
|
||||
|
|
@ -36,7 +39,10 @@ class Crud_DB:
|
|||
except self.table_model.DoesNotExist:
|
||||
db_row = row
|
||||
complete_data.append(db_row)
|
||||
self.table_model.insert_many(complete_data).on_conflict_replace().execute()
|
||||
if hasattr(self.table_model, "crud_update"):
|
||||
self.table_model.crud_update(complete_data)
|
||||
else:
|
||||
self.table_model.insert_many(complete_data).on_conflict_replace().execute()
|
||||
|
||||
def revert(self):
|
||||
self.sorting.clear()
|
||||
|
|
@ -46,7 +52,10 @@ class Crud_DB:
|
|||
def get(self, page=0):
|
||||
if self.table_model._meta.composite_key:
|
||||
raise NotImplementedError("need to implement composite_key")
|
||||
query = self.table_model.select()
|
||||
if hasattr(self.table_model, "crud_select"):
|
||||
query = self.table_model.crud_select()
|
||||
else:
|
||||
query = self.table_model.select()
|
||||
if len(self.default_filters) + len(self.filters) > 0:
|
||||
query = query.where(*self.default_filters.values(), *self.filters.values())
|
||||
if len(self.sorting) > 0:
|
||||
|
|
|
|||
|
|
@ -21,12 +21,24 @@ class Recipes(BaseModel):
|
|||
steps.append(Steps.get_by_id(step_pk))
|
||||
return steps
|
||||
|
||||
def delete_associated_steps(self):
|
||||
return Steps.delete().where(Steps._meta.primary_key << list(self.spec.get("available_steps", {}).values())).execute()
|
||||
|
||||
def get_steps_map(self):
|
||||
steps = {}
|
||||
for step_name, step_pk in self.spec.get("available_steps", {}).items():
|
||||
steps[step_name] = Steps.get_by_id(step_pk)
|
||||
return steps
|
||||
|
||||
@classmethod
|
||||
def crud_delete(cls, deleted_rows):
|
||||
# return cls.delete().where(self._meta.primary_key << deleted_rows).execute()
|
||||
recipes = list(cls.select().where(cls._meta.primary_key << deleted_rows).execute())
|
||||
for recipe in recipes:
|
||||
recipe.delete_associated_steps()
|
||||
recipe.delete_instance()
|
||||
return len(recipes)
|
||||
|
||||
# @classmethod
|
||||
# def delete(cls, *args, **kwargs):
|
||||
# # OVERRIDE DELETION
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user