소스 검색

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 년 전
부모
커밋
d8622d2c0e
2개의 변경된 파일4개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 1
      lib/python/pygrass/modules/interface/parameter.py
  2. 2 2
      lib/python/pygrass/modules/interface/testsuite/test_parameter.py

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

@@ -209,7 +209,8 @@ class Parameter(object):
                               if isinstance(val, tuple) else str(val)
                               for val in self.rawvalue])
         else:
-            value = str(self.rawvalue)
+            value = (repr(self.rawvalue) if self.typedesc == "string"
+                     else str(self.rawvalue))
         return "%s=%s" % (self.name, value)
 
     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
         param._value = 'elev'
         param._rawvalue = 'elev'
-        self.assertEqual("rast=elev", param.get_bash())
+        self.assertEqual("rast='elev'", param.get_bash())
 
     def test_multiple_strings(self):
         param = Parameter(diz=dict(name='rast', required='yes',
@@ -320,7 +320,7 @@ class TestParameterGetBash(TestCase):
         self.assertEqual("rast=elev,asp,slp", param.get_bash())
         param._value = ['elev', ]
         param._rawvalue = 'elev'
-        self.assertEqual("rast=elev", param.get_bash())
+        self.assertEqual("rast='elev'", param.get_bash())
 
     def test_keydescvalues(self):
         param = Parameter(diz=dict(name='range', required='yes',