Skip to content

Commit

Permalink
Fix unsafe parameters[cls.label] with get
Browse files Browse the repository at this point in the history
  • Loading branch information
emanuelegissi committed Aug 7, 2023
1 parent 35b5303 commit 9c5e444
Showing 1 changed file with 12 additions and 19 deletions.
31 changes: 12 additions & 19 deletions qgis2fds_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ def get(cls, algo, parameters, context, feedback, project):
value = algo.parameterAsExtent(
parameters, cls.label, context, crs=project.crs()
) # in project crs
project.writeEntry("qgis2fds", cls.label, parameters[cls.label]) # protect
project.writeEntry("qgis2fds", cls.label, parameters.get(cls.label)) # protect
feedback.setProgressText(f"{cls.desc}: <{value}>")
return value

Expand Down Expand Up @@ -206,7 +206,7 @@ def get(cls, algo, parameters, context, feedback, project):
raise QgsProcessingException(
f"DEM layer CRS <{value.crs().description()}> not valid, cannot proceed."
)
project.writeEntry("qgis2fds", cls.label, parameters[cls.label]) # protect
project.writeEntry("qgis2fds", cls.label, parameters.get(cls.label)) # protect
feedback.setProgressText(f"{cls.desc}: <{value}>")
return value

Expand All @@ -231,12 +231,8 @@ def set(cls, algo, config, project):
@classmethod
def get(cls, algo, parameters, context, feedback, project):
value = None
try:
if parameters[cls.label]:
value = algo.parameterAsRasterLayer(parameters, cls.label, context)
except KeyError:
value = None
parameters[cls.label] = None
if parameters.get(cls.label):
value = algo.parameterAsRasterLayer(parameters, cls.label, context)
if value:
# Check local
url = value.source()
Expand All @@ -249,7 +245,7 @@ def get(cls, algo, parameters, context, feedback, project):
raise QgsProcessingException(
f"Landuse layer CRS <{value.crs().description()}> not valid, cannot proceed."
)
project.writeEntry("qgis2fds", cls.label, parameters[cls.label]) # protect
project.writeEntry("qgis2fds", cls.label, parameters.get(cls.label)) # protect
feedback.setProgressText(f"{cls.desc}: <{value}>")
return value

Expand All @@ -276,7 +272,7 @@ def set(cls, algo, config, project):
@classmethod
def get(cls, algo, parameters, context, feedback, project):
value = None
if parameters[cls.label]:
if parameters.get(cls.label):
value = algo.parameterAsFile(parameters, cls.label, context)
project.writeEntry("qgis2fds", cls.label, value or "") # protect
if value:
Expand Down Expand Up @@ -314,7 +310,7 @@ def set(cls, algo, config, project):
@classmethod
def get(cls, algo, parameters, context, feedback, project):
value = None
if parameters[cls.label]:
if parameters.get(cls.label):
value = algo.parameterAsFile(parameters, cls.label, context)
project.writeEntry("qgis2fds", cls.label, value or "") # protect
if value:
Expand Down Expand Up @@ -350,16 +346,13 @@ def set(cls, algo, config, project):
@classmethod
def get(cls, algo, parameters, context, feedback, project):
value = None
try:
if parameters[cls.label]:
value = algo.parameterAsRasterLayer(parameters, cls.label, context)
except KeyError:
parameters[cls.label] = None
if parameters.get(cls.label):
value = algo.parameterAsRasterLayer(parameters, cls.label, context)
if value and not value.crs().isValid():
raise QgsProcessingException(
f"Texture layer CRS <{value.crs().description()}> not valid, cannot proceed."
)
project.writeEntry("qgis2fds", cls.label, parameters[cls.label]) # protect
project.writeEntry("qgis2fds", cls.label, parameters.get(cls.label)) # protect
feedback.setProgressText(f"{cls.desc}: <{value}>")
return value

Expand All @@ -386,7 +379,7 @@ def set(cls, algo, config, project):

@classmethod
def get(cls, algo, parameters, context, feedback, project):
if parameters[cls.label]:
if parameters.get(cls.label):
value = algo.parameterAsDouble(parameters, cls.label, context)
project.writeEntryDouble("qgis2fds", cls.label, value)
else: # protect
Expand Down Expand Up @@ -446,7 +439,7 @@ def set(cls, algo, config, project):

@classmethod
def get(cls, algo, parameters, context, feedback, project):
if parameters[cls.label]:
if parameters.get(cls.label):
value = algo.parameterAsDouble(parameters, cls.label, context)
project.writeEntryDouble("qgis2fds", cls.label, value)
else: # protect
Expand Down

0 comments on commit 9c5e444

Please sign in to comment.