mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-14 00:07:35 -04:00
[processing] Quote and escape script exported ParameterString
This commit is contained in:
parent
55e3ea033a
commit
3fba3ac775
@ -1191,7 +1191,7 @@ class ParameterString(Parameter):
|
|||||||
if self.optional:
|
if self.optional:
|
||||||
param_type += 'optional '
|
param_type += 'optional '
|
||||||
param_type += 'string '
|
param_type += 'string '
|
||||||
return '##' + self.name + '=' + param_type + str(self.default)
|
return '##' + self.name + '=' + param_type + repr(self.default)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def fromScriptCode(self, line):
|
def fromScriptCode(self, line):
|
||||||
@ -1201,6 +1201,8 @@ class ParameterString(Parameter):
|
|||||||
default = definition.strip()[len('string') + 1:] or None
|
default = definition.strip()[len('string') + 1:] or None
|
||||||
if default == 'None':
|
if default == 'None':
|
||||||
default = None
|
default = None
|
||||||
|
elif default.startswith('"') or default.startswith('\''):
|
||||||
|
default = eval(default)
|
||||||
if default:
|
if default:
|
||||||
return ParameterString(name, descName, default, optional=isOptional)
|
return ParameterString(name, descName, default, optional=isOptional)
|
||||||
else:
|
else:
|
||||||
|
@ -593,12 +593,29 @@ class ParameterStringTest(unittest.TestCase):
|
|||||||
code = parameter.getAsScriptCode()
|
code = parameter.getAsScriptCode()
|
||||||
result = getParameterFromString(code)
|
result = getParameterFromString(code)
|
||||||
self.assertIsInstance(result, ParameterString)
|
self.assertIsInstance(result, ParameterString)
|
||||||
|
self.assertEqual(result.default, parameter.default)
|
||||||
|
|
||||||
|
parameter.default = None
|
||||||
parameter.optional = True
|
parameter.optional = True
|
||||||
code = parameter.getAsScriptCode()
|
code = parameter.getAsScriptCode()
|
||||||
result = getParameterFromString(code)
|
result = getParameterFromString(code)
|
||||||
self.assertIsInstance(result, ParameterString)
|
self.assertIsInstance(result, ParameterString)
|
||||||
self.assertTrue(result.optional)
|
self.assertTrue(result.optional)
|
||||||
|
self.assertEqual(result.default, parameter.default)
|
||||||
|
|
||||||
|
parameter.default = 'None'
|
||||||
|
code = parameter.getAsScriptCode()
|
||||||
|
result = getParameterFromString(code)
|
||||||
|
self.assertIsInstance(result, ParameterString)
|
||||||
|
self.assertTrue(result.optional)
|
||||||
|
self.assertEqual(result.default, parameter.default)
|
||||||
|
|
||||||
|
parameter.default = 'It\'s Mario'
|
||||||
|
code = parameter.getAsScriptCode()
|
||||||
|
result = getParameterFromString(code)
|
||||||
|
self.assertIsInstance(result, ParameterString)
|
||||||
|
self.assertTrue(result.optional)
|
||||||
|
self.assertEqual(result.default, parameter.default)
|
||||||
|
|
||||||
|
|
||||||
class ParameterExpressionTest(unittest.TestCase):
|
class ParameterExpressionTest(unittest.TestCase):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user