mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-20 13:17:51 -06:00
Move DB handling into specialised classes
This keeps CuraContainerRegistry a lot cleaner, especially when more container types are added Cura-6096
This commit is contained in:
parent
27f0fe8bb9
commit
e0e8223c5d
5 changed files with 116 additions and 99 deletions
29
cura/Settings/DatabaseHandlers/VariantDatabaseHandler.py
Normal file
29
cura/Settings/DatabaseHandlers/VariantDatabaseHandler.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
from UM.Settings.DatabaseContainerMetadataController import DatabaseMetadataContainerController
|
||||
from UM.Settings.InstanceContainer import InstanceContainer
|
||||
|
||||
|
||||
class VariantDatabaseHandler(DatabaseMetadataContainerController):
|
||||
def __init__(self) -> None:
|
||||
super().__init__(
|
||||
insert_query= "INSERT INTO variants (id, name, hardware_type, definition, version, setting_version) VALUES (?, ?, ?, ?, ?, ?)",
|
||||
update_query= "",
|
||||
select_query= "SELECT * FROM variants where id = ?",
|
||||
table_query="""CREATE TABLE variants
|
||||
(
|
||||
id text,
|
||||
name text,
|
||||
hardware_type text,
|
||||
definition text,
|
||||
version text,
|
||||
setting_version text
|
||||
);
|
||||
CREATE UNIQUE INDEX idx_variants_id on variants (id);"""
|
||||
)
|
||||
|
||||
def _convertRawDataToMetadata(self, data):
|
||||
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"}
|
||||
|
||||
|
||||
def _convertMetadataToInsertBatch(self, metadata):
|
||||
return metadata["id"], metadata["name"], metadata["hardware_type"], metadata["definition"], metadata["version"], \
|
||||
metadata["setting_version"]
|
Loading…
Add table
Add a link
Reference in a new issue