mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-13 00:03:09 -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:
|
||||
param_type += 'optional '
|
||||
param_type += 'string '
|
||||
return '##' + self.name + '=' + param_type + str(self.default)
|
||||
return '##' + self.name + '=' + param_type + repr(self.default)
|
||||
|
||||
@classmethod
|
||||
def fromScriptCode(self, line):
|
||||
@ -1201,6 +1201,8 @@ class ParameterString(Parameter):
|
||||
default = definition.strip()[len('string') + 1:] or None
|
||||
if default == 'None':
|
||||
default = None
|
||||
elif default.startswith('"') or default.startswith('\''):
|
||||
default = eval(default)
|
||||
if default:
|
||||
return ParameterString(name, descName, default, optional=isOptional)
|
||||
else:
|
||||
|
@ -593,12 +593,29 @@ class ParameterStringTest(unittest.TestCase):
|
||||
code = parameter.getAsScriptCode()
|
||||
result = getParameterFromString(code)
|
||||
self.assertIsInstance(result, ParameterString)
|
||||
self.assertEqual(result.default, parameter.default)
|
||||
|
||||
parameter.default = None
|
||||
parameter.optional = True
|
||||
code = parameter.getAsScriptCode()
|
||||
result = getParameterFromString(code)
|
||||
self.assertIsInstance(result, ParameterString)
|
||||
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):
|
||||
|
Loading…
x
Reference in New Issue
Block a user