2 new revisions:

Revision: 5c84d78d4f92
Author:   Robot Framework Developers ([email protected])
Date:     Wed Feb 15 04:37:12 2012
Log:      env vars: clean-up jython workaround
http://code.google.com/p/robotframework/source/detail?r=5c84d78d4f92

Revision: 3aec1d069e02
Author:   Robot Framework Developers ([email protected])
Date:     Wed Feb 15 04:42:59 2012
Log: Log Environment Variables: Fixed non-ASCII env var values with Jython....
http://code.google.com/p/robotframework/source/detail?r=3aec1d069e02

==============================================================================
Revision: 5c84d78d4f92
Author:   Robot Framework Developers ([email protected])
Date:     Wed Feb 15 04:37:12 2012
Log:      env vars: clean-up jython workaround
http://code.google.com/p/robotframework/source/detail?r=5c84d78d4f92

Modified:
 /src/robot/utils/robotenv.py

=======================================
--- /src/robot/utils/robotenv.py        Wed Feb 15 03:58:04 2012
+++ /src/robot/utils/robotenv.py        Wed Feb 15 04:37:12 2012
@@ -20,11 +20,9 @@


 def get_env_var(name, default=None):
-    if sys.platform.startswith('java'):
-        from java.lang import System
-        value = System.getenv(unic(name))
-        if value is not None:
-            return value
+    value = _get_env_var_from_java(name)
+    if value is not None:
+        return value
     try:
         value = os.environ[_encode(name)]
     except KeyError:
@@ -36,12 +34,21 @@
     os.environ[_encode(name)] = _encode(value)

 def del_env_var(name):
+    # cannot use os.environ.pop() due to http://bugs.python.org/issue1287
     value = get_env_var(name)
     if value is not None:
-        # cannot use pop() due to http://bugs.python.org/issue1287
         del os.environ[_encode(name)]
     return value

+
+if sys.platform.startswith('java'):
+    from java.lang import System
+    def _get_env_var_from_java(name):
+        return System.getenv(unic(name))
+else:
+    def _get_env_var_from_java(name):
+        return None
+
 def _encode(var):
     if isinstance(var, str):
         return var

==============================================================================
Revision: 3aec1d069e02
Author:   Robot Framework Developers ([email protected])
Date:     Wed Feb 15 04:42:59 2012
Log: Log Environment Variables: Fixed non-ASCII env var values with Jython. Names
are still borken but fixing them requires a bit more work and also tests.
http://code.google.com/p/robotframework/source/detail?r=3aec1d069e02

Modified:
 /src/robot/libraries/OperatingSystem.py

=======================================
--- /src/robot/libraries/OperatingSystem.py     Wed Feb 15 03:44:44 2012
+++ /src/robot/libraries/OperatingSystem.py     Wed Feb 15 04:42:59 2012
@@ -835,8 +835,8 @@
     def log_environment_variables(self, level='INFO'):
         """Logs all environment variables with given log level."""
         for name in sorted(os.environ, key=lambda s: s.lower()):
-            value = decode_from_system(os.environ[name])
-            self._log('%s = %s' % (decode_from_system(name), value), level)
+            name = decode_from_system(name)
+            self._log('%s = %s' % (name, get_env_var(name)), level)

     # Path

Reply via email to