mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-06-30 10:25:10 +08:00

This keeps CuraContainerRegistry a lot cleaner, especially when more container types are added Cura-6096
45 lines
1.9 KiB
Python
45 lines
1.9 KiB
Python
from UM.Settings.DatabaseContainerMetadataController import DatabaseMetadataContainerController
|
|
from UM.Settings.InstanceContainer import InstanceContainer
|
|
|
|
|
|
class QualityDatabaseHandler(DatabaseMetadataContainerController):
|
|
def __init__(self) -> None:
|
|
super().__init__(
|
|
insert_query = "INSERT INTO qualities (id, name, quality_type, material, variant, global_quality, definition, version, setting_version) VALUES (?, ?, ? ,?, ?, ?, ?, ?, ?)",
|
|
update_query = "",
|
|
select_query = "SELECT * FROM qualities where id = ?",
|
|
table_query = """CREATE TABLE qualities
|
|
(
|
|
id text,
|
|
name text,
|
|
quality_type text,
|
|
material text,
|
|
variant text,
|
|
global_quality bool,
|
|
definition text,
|
|
version text,
|
|
setting_version text
|
|
);
|
|
CREATE UNIQUE INDEX idx_qualities_id on qualities (id);"""
|
|
)
|
|
|
|
def _convertRawDataToMetadata(self, data):
|
|
return {"id": data[0], "name": data[1], "quality_type": data[2], "material": data[3], "variant": data[4],
|
|
"global_quality": data[5], "definition": data[6], "container_type": InstanceContainer,
|
|
"version": data[7], "setting_version": data[8], "type": "quality"}
|
|
|
|
def _convertMetadataToInsertBatch(self, metadata):
|
|
global_quality = False
|
|
if "global_quality" in metadata:
|
|
global_quality = metadata["global_quality"]
|
|
material = ""
|
|
if "material" in metadata:
|
|
material = metadata["material"]
|
|
variant = ""
|
|
if "variant" in metadata:
|
|
variant = metadata["variant"]
|
|
|
|
return metadata["id"], metadata["name"], metadata["quality_type"], material, variant, global_quality, metadata["definition"], metadata["version"], metadata["setting_version"]
|
|
|
|
|