Browse Source

Use SQLQueryFactory for container DB

Needed to add a Filter possibility to facilitate that
Created a Simple UserString class which can be used as:

```py
        sql_filter = SQLFilter(f"SELECT {{}} FROM table_name WHERE id = ?")
        cursor.execute(sql_filter)  # Will execute: SELECT * FROM table_name WHERE id = ?
        cursor.execute(sql_filter["id", "name"])  # Will execute: SELECT id, name FROM table_name WHERE id = ?

```

Contributes to CURA-6096
jelle Spijker 3 years ago
parent
commit
571a051041

+ 0 - 3
cura/Settings/DatabaseHandlers/IntentDatabaseHandler.py

@@ -1,6 +1,5 @@
 from UM.Settings.SQLQueryFactory import SQLQueryFactory
 from UM.Settings.DatabaseContainerMetadataController import DatabaseMetadataContainerController
-from UM.Settings.InstanceContainer import InstanceContainer
 
 
 class IntentDatabaseHandler(DatabaseMetadataContainerController):
@@ -9,7 +8,6 @@ class IntentDatabaseHandler(DatabaseMetadataContainerController):
     def __init__(self) -> None:
         super().__init__(SQLQueryFactory(table = "intents",
                                          fields = {
-                                             "id": "text",
                                              "name": "text",
                                              "quality_type": "text",
                                              "intent_category": "text",
@@ -19,4 +17,3 @@ class IntentDatabaseHandler(DatabaseMetadataContainerController):
                                              "version": "text",
                                              "setting_version": "text"
                                          }))
-        self.container_type = InstanceContainer

+ 0 - 3
cura/Settings/DatabaseHandlers/QualityDatabaseHandler.py

@@ -1,6 +1,5 @@
 from UM.Settings.SQLQueryFactory import SQLQueryFactory, metadata_type
 from UM.Settings.DatabaseContainerMetadataController import DatabaseMetadataContainerController
-from UM.Settings.InstanceContainer import InstanceContainer
 
 
 class QualityDatabaseHandler(DatabaseMetadataContainerController):
@@ -9,7 +8,6 @@ class QualityDatabaseHandler(DatabaseMetadataContainerController):
     def __init__(self):
         super().__init__(SQLQueryFactory(table = "qualities",
                                          fields = {
-                                             "id": "text",
                                              "name": "text",
                                              "quality_type": "text",
                                              "material": "text",
@@ -19,7 +17,6 @@ class QualityDatabaseHandler(DatabaseMetadataContainerController):
                                              "version": "text",
                                              "setting_version": "text"
                                          }))
-        self.container_type = InstanceContainer
 
     def groomMetadata(self, metadata: metadata_type) -> metadata_type:
         """

+ 0 - 3
cura/Settings/DatabaseHandlers/VariantDatabaseHandler.py

@@ -1,6 +1,5 @@
 from UM.Settings.SQLQueryFactory import SQLQueryFactory
 from UM.Settings.DatabaseContainerMetadataController import DatabaseMetadataContainerController
-from UM.Settings.InstanceContainer import InstanceContainer
 
 
 class VariantDatabaseHandler(DatabaseMetadataContainerController):
@@ -9,11 +8,9 @@ class VariantDatabaseHandler(DatabaseMetadataContainerController):
     def __init__(self):
         super().__init__(SQLQueryFactory(table = "variants",
                                          fields = {
-                                             "id": "text",
                                              "name": "text",
                                              "hardware_type": "text",
                                              "definition": "text",
                                              "version": "text",
                                              "setting_version": "text"
                                          }))
-        self.container_type = InstanceContainer