VariantDatabaseHandler.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from UM.Settings.DatabaseContainerMetadataController import DatabaseMetadataContainerController
  2. from UM.Settings.InstanceContainer import InstanceContainer
  3. class VariantDatabaseHandler(DatabaseMetadataContainerController):
  4. def __init__(self) -> None:
  5. super().__init__(
  6. insert_query = """INSERT INTO variants (id, name, hardware_type, definition, version, setting_version)
  7. VALUES (?, ?, ?, ?, ?, ?)""",
  8. update_query = """ UPDATE variants
  9. SET name = ?,
  10. hardware_type = ?,
  11. definition = ?,
  12. version = ?,
  13. setting_version = ?
  14. WHERE id = ?
  15. """,
  16. select_query = "SELECT * FROM variants WHERE id = ?",
  17. delete_query = "DELETE FROM variants WHERE id = ?",
  18. table_query = """CREATE TABLE variants
  19. (
  20. id text,
  21. name text,
  22. hardware_type text,
  23. definition text,
  24. version text,
  25. setting_version text
  26. );
  27. CREATE UNIQUE INDEX idx_variants_id on variants (id);"""
  28. )
  29. def _convertMetadataToUpdateBatch(self, metadata):
  30. return self._convertMetadataToInsertBatch(metadata)[1:]
  31. def _convertRawDataToMetadata(self, data):
  32. return {"id": data[0], "name": data[1], "hardware_type": data[2], "definition": data[3], "container_type": InstanceContainer, "version": data[4], "setting_version": data[5], "type": "variant"}
  33. def _convertMetadataToInsertBatch(self, metadata):
  34. return metadata["id"], metadata["name"], metadata["hardware_type"], metadata["definition"], metadata["version"], \
  35. metadata["setting_version"]