@@ -79,8 +79,8 @@ def feature_from_model(cls, model: Plan) -> QgsFeature:
79
79
80
80
feature = cls .initialize_feature_from_model (model )
81
81
feature .setGeometry (model .geom )
82
- feature ["name" ] = {LANGUAGE : model .name }
83
- feature ["description" ] = {LANGUAGE : model .description }
82
+ feature ["name" ] = {LANGUAGE : model .name if model . name else None }
83
+ feature ["description" ] = {LANGUAGE : model .description if model . description else None }
84
84
feature ["permanent_plan_identifier" ] = model .permanent_plan_identifier
85
85
feature ["record_number" ] = model .record_number
86
86
feature ["producers_plan_identifier" ] = model .producers_plan_identifier
@@ -99,8 +99,8 @@ def model_from_feature(cls, feature: QgsFeature) -> Plan:
99
99
]
100
100
return Plan (
101
101
geom = feature .geometry (),
102
- name = feature ["name" ][ LANGUAGE ] ,
103
- description = feature ["description" ][ LANGUAGE ] ,
102
+ name = feature ["name" ]. get ( LANGUAGE ) if feature [ "name" ] else None ,
103
+ description = feature ["description" ]. get ( LANGUAGE ) if feature [ "description" ] else None ,
104
104
permanent_plan_identifier = feature ["permanent_plan_identifier" ],
105
105
record_number = feature ["record_number" ],
106
106
producers_plan_identifier = feature ["producers_plan_identifier" ],
@@ -123,7 +123,7 @@ def model_from_feature(cls, feature: QgsFeature) -> Plan:
123
123
@classmethod
124
124
def get_plan_name (cls , plan_id : str ) -> str :
125
125
attribute_value = cls .get_attribute_value_by_another_attribute_value ("name" , "id" , plan_id )
126
- return attribute_value [ LANGUAGE ] if attribute_value else "Nimetön"
126
+ return attribute_value . get ( LANGUAGE , "Nimetön" ) if attribute_value else "Nimetön"
127
127
128
128
129
129
class PlanFeatureLayer (AbstractPlanLayer ):
@@ -135,9 +135,9 @@ def feature_from_model(cls, model: PlanFeature, plan_id: str | None = None) -> Q
135
135
136
136
feature = cls .initialize_feature_from_model (model )
137
137
feature .setGeometry (model .geom )
138
- feature ["name" ] = {LANGUAGE : model .name if model .name else "" }
138
+ feature ["name" ] = {LANGUAGE : model .name if model .name else None }
139
139
feature ["type_of_underground_id" ] = model .type_of_underground_id
140
- feature ["description" ] = {LANGUAGE : model .description if model .description else "" }
140
+ feature ["description" ] = {LANGUAGE : model .description if model .description else None }
141
141
feature ["plan_id" ] = plan_id if plan_id else get_active_plan_id ()
142
142
143
143
return feature
@@ -152,8 +152,8 @@ def model_from_feature(cls, feature: QgsFeature) -> PlanFeature:
152
152
geom = feature .geometry (),
153
153
type_of_underground_id = feature ["type_of_underground_id" ],
154
154
layer_name = cls .get_from_project ().name (),
155
- name = feature ["name" ][ LANGUAGE ] ,
156
- description = feature ["description" ][ LANGUAGE ] ,
155
+ name = feature ["name" ]. get ( LANGUAGE ) if feature [ "name" ] else None ,
156
+ description = feature ["description" ]. get ( LANGUAGE ) ,
157
157
regulation_groups = [
158
158
RegulationGroupLayer .model_from_feature (feat ) for feat in regulation_group_features if feat is not None
159
159
],
@@ -196,7 +196,7 @@ def feature_from_model(cls, model: RegulationGroup, plan_id: str | None = None)
196
196
feature = cls .initialize_feature_from_model (model )
197
197
198
198
feature ["short_name" ] = model .short_name if model .short_name else None
199
- feature ["name" ] = {LANGUAGE : model .name }
199
+ feature ["name" ] = {LANGUAGE : model .name if model . name else None }
200
200
feature ["type_of_plan_regulation_group_id" ] = model .type_code_id
201
201
feature ["plan_id" ] = (
202
202
plan_id
@@ -210,7 +210,7 @@ def feature_from_model(cls, model: RegulationGroup, plan_id: str | None = None)
210
210
def model_from_feature (cls , feature : QgsFeature ) -> RegulationGroup :
211
211
return RegulationGroup (
212
212
type_code_id = feature ["type_of_plan_regulation_group_id" ],
213
- name = feature ["name" ][ LANGUAGE ] ,
213
+ name = feature ["name" ]. get ( LANGUAGE ) if feature [ "name" ] else None ,
214
214
short_name = feature ["short_name" ],
215
215
color_code = None ,
216
216
group_number = None ,
@@ -335,11 +335,11 @@ def update_feature_from_attribute_value_model(value: AttributeValue | None, feat
335
335
feature ["numeric_range_min" ] = value .numeric_range_min
336
336
feature ["numeric_range_max" ] = value .numeric_range_max
337
337
feature ["unit" ] = value .unit
338
- feature ["text_value" ] = {LANGUAGE : value .text_value } if value .text_value is not None else None
338
+ feature ["text_value" ] = {LANGUAGE : value .text_value if value .text_value else None }
339
339
feature ["text_syntax" ] = value .text_syntax
340
340
feature ["code_list" ] = value .code_list
341
341
feature ["code_value" ] = value .code_value
342
- feature ["code_title" ] = {LANGUAGE : value .code_title } if value .code_title is not None else None
342
+ feature ["code_title" ] = {LANGUAGE : value .code_title if value .code_title else None }
343
343
feature ["height_reference_point" ] = value .height_reference_point
344
344
345
345
@@ -435,7 +435,7 @@ class PlanPropositionLayer(AbstractPlanLayer):
435
435
def feature_from_model (cls , model : Proposition ) -> QgsFeature :
436
436
feature = cls .initialize_feature_from_model (model )
437
437
438
- feature ["text_value" ] = {LANGUAGE : model .value }
438
+ feature ["text_value" ] = {LANGUAGE : model .value if model . value else None }
439
439
feature ["plan_regulation_group_id" ] = model .regulation_group_id
440
440
feature ["ordering" ] = model .proposition_number
441
441
feature ["plan_theme_id" ] = model .theme_id
@@ -446,7 +446,7 @@ def feature_from_model(cls, model: Proposition) -> QgsFeature:
446
446
@classmethod
447
447
def model_from_feature (cls , feature : QgsFeature ) -> Proposition :
448
448
return Proposition (
449
- value = feature ["text_value" ][ LANGUAGE ] ,
449
+ value = feature ["text_value" ]. get ( LANGUAGE ) if feature [ "text_value" ] else None ,
450
450
regulation_group_id = feature ["plan_regulation_group_id" ],
451
451
proposition_number = feature ["ordering" ],
452
452
theme_id = feature ["plan_theme_id" ],
@@ -477,7 +477,7 @@ class DocumentLayer(AbstractPlanLayer):
477
477
def feature_from_model (cls , model : Document ) -> QgsFeature :
478
478
feature = cls .initialize_feature_from_model (model )
479
479
480
- feature ["name" ] = {LANGUAGE : model .name }
480
+ feature ["name" ] = {LANGUAGE : model .name if model . name else None }
481
481
feature ["url" ] = model .url
482
482
feature ["type_of_document_id" ] = model .type_of_document_id
483
483
feature ["decision" ] = model .decision
@@ -496,7 +496,7 @@ def feature_from_model(cls, model: Document) -> QgsFeature:
496
496
@classmethod
497
497
def model_from_feature (cls , feature : QgsFeature ) -> Document :
498
498
return Document (
499
- name = feature ["name" ][ LANGUAGE ] ,
499
+ name = feature ["name" ]. get ( LANGUAGE ) if feature [ "name" ] else None ,
500
500
url = feature ["url" ],
501
501
type_of_document_id = feature ["type_of_document_id" ],
502
502
decision = feature ["decision" ],
0 commit comments