Sfoglia il codice sorgente

pygrass: Add quotes to bash string representation if the parameter is of type string

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@61587 15284696-431f-4ddb-bdfa-cd5b030d7da7
Pietro Zambelli 10 anni fa
parent
commit
d8622d2c0e

+ 2 - 1
lib/python/pygrass/modules/interface/parameter.py

@@ -209,7 +209,8 @@ class Parameter(object):
                               if isinstance(val, tuple) else str(val)
                               if isinstance(val, tuple) else str(val)
                               for val in self.rawvalue])
                               for val in self.rawvalue])
         else:
         else:
-            value = str(self.rawvalue)
+            value = (repr(self.rawvalue) if self.typedesc == "string"
+                     else str(self.rawvalue))
         return "%s=%s" % (self.name, value)
         return "%s=%s" % (self.name, value)
 
 
     def get_python(self):
     def get_python(self):

+ 2 - 2
lib/python/pygrass/modules/interface/testsuite/test_parameter.py

@@ -309,7 +309,7 @@ class TestParameterGetBash(TestCase):
         # set private attributes to skip the check function
         # set private attributes to skip the check function
         param._value = 'elev'
         param._value = 'elev'
         param._rawvalue = 'elev'
         param._rawvalue = 'elev'
-        self.assertEqual("rast=elev", param.get_bash())
+        self.assertEqual("rast='elev'", param.get_bash())
 
 
     def test_multiple_strings(self):
     def test_multiple_strings(self):
         param = Parameter(diz=dict(name='rast', required='yes',
         param = Parameter(diz=dict(name='rast', required='yes',
@@ -320,7 +320,7 @@ class TestParameterGetBash(TestCase):
         self.assertEqual("rast=elev,asp,slp", param.get_bash())
         self.assertEqual("rast=elev,asp,slp", param.get_bash())
         param._value = ['elev', ]
         param._value = ['elev', ]
         param._rawvalue = 'elev'
         param._rawvalue = 'elev'
-        self.assertEqual("rast=elev", param.get_bash())
+        self.assertEqual("rast='elev'", param.get_bash())
 
 
     def test_keydescvalues(self):
     def test_keydescvalues(self):
         param = Parameter(diz=dict(name='range', required='yes',
         param = Parameter(diz=dict(name='range', required='yes',