VariantDatabaseHandler.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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. table_query = """CREATE TABLE variants
  18. (
  19. id text,
  20. name text,
  21. hardware_type text,
  22. definition text,
  23. version text,
  24. setting_version text
  25. );
  26. CREATE UNIQUE INDEX idx_variants_id on variants (id);"""
  27. )
  28. def _convertMetadataToUpdateBatch(self, metadata):
  29. return self._convertMetadataToInsertBatch(metadata)[1:]
  30. def _convertRawDataToMetadata(self, data):
  31. 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"}
  32. def _convertMetadataToInsertBatch(self, metadata):
  33. return metadata["id"], metadata["name"], metadata["hardware_type"], metadata["definition"], metadata["version"], \
  34. metadata["setting_version"]