[GRASS-SVN] r73906 - grass/trunk/lib/python/script
svn_grass at osgeo.org
svn_grass at osgeo.org
Thu Jan 3 14:43:37 PST 2019
Author: martinl
Date: 2019-01-03 14:43:37 -0800 (Thu, 03 Jan 2019)
New Revision: 73906
Modified:
grass/trunk/lib/python/script/core.py
Log:
avoid usage of os.environb, inspired by https://stackoverflow.com/questions/52269281/fix-import-error-on-using-environb-in-python, see #3723
Modified: grass/trunk/lib/python/script/core.py
===================================================================
--- grass/trunk/lib/python/script/core.py 2019-01-03 22:03:59 UTC (rev 73905)
+++ grass/trunk/lib/python/script/core.py 2019-01-03 22:43:37 UTC (rev 73906)
@@ -27,6 +27,7 @@
import codecs
import string
import random
+import pipes
import types as python_types
from .utils import KeyValue, parse_key_val, basename, encode, decode
@@ -39,12 +40,10 @@
try:
# python2
import __builtin__
- from os import environ
__builtin__.__dict__['_'] = __builtin__.__dict__['_'].__self__.ugettext
except ImportError:
# python3
import builtins as __builtin__
- from os import environb as environ
unicode = str
__builtin__.__dict__['_'] = __builtin__.__dict__['_'].__self__.gettext
@@ -820,9 +819,9 @@
print("You must be in GRASS GIS to run this program.", file=sys.stderr)
sys.exit(1)
- cmdline = [basename(encode(sys.argv[0]))]
- cmdline += [b'"' + encode(arg) + b'"' for arg in sys.argv[1:]]
- environ[b'CMDLINE'] = b' '.join(cmdline)
+ cmdline = [basename(sys.argv[0])]
+ cmdline += [pipes.quote(a) for a in sys.argv[1:]]
+ os.environ['CMDLINE'] = ' '.join(cmdline)
argv = sys.argv[:]
name = argv[0]
More information about the grass-commit
mailing list