diff options
author | Martin Robinson <mrobinson@igalia.com> | 2023-05-29 13:56:03 +0200 |
---|---|---|
committer | Martin Robinson <mrobinson@igalia.com> | 2023-05-29 13:56:03 +0200 |
commit | faa8c0e967cd9e3526c05e4eac34c679cb14ed5f (patch) | |
tree | 79fb6d27505cf33d185a1a95de93b28b764ee44d /python/servo/command_base.py | |
parent | 9a93c218675374eb4d57fa2d55f1bdadb831ac8d (diff) | |
download | servo-faa8c0e967cd9e3526c05e4eac34c679cb14ed5f.tar.gz servo-faa8c0e967cd9e3526c05e4eac34c679cb14ed5f.zip |
Remove more Python 2 compatibility code
- os.environ is always `str` in Python 3.
- The only string type is `str` so we can stop using `six.str_types`.
- `iteritems()` isn't necessary because dicts have the `items()` method.
Diffstat (limited to 'python/servo/command_base.py')
-rw-r--r-- | python/servo/command_base.py | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 0d2e794eba7..e7b17af1999 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -131,31 +131,11 @@ def archive_deterministically(dir_to_archive, dest_archive, prepend_path=None): os.rename(temp_file, dest_archive) -def normalize_env(env): - # There is a bug in Py2 subprocess where it doesn't like unicode types in - # environment variables. Here, ensure all unicode are converted to - # native string type. utf-8 is our globally assumed default. If the caller - # doesn't want UTF-8, they shouldn't pass in a unicode instance. - normalized_env = {} - for k, v in env.items(): - if isinstance(k, six.text_type): - k = six.ensure_str(k, 'utf-8', 'strict') - - if isinstance(v, six.text_type): - v = six.ensure_str(v, 'utf-8', 'strict') - - normalized_env[k] = v - - return normalized_env - - def call(*args, **kwargs): """Wrap `subprocess.call`, printing the command if verbose=True.""" verbose = kwargs.pop('verbose', False) if verbose: print(' '.join(args[0])) - if 'env' in kwargs: - kwargs['env'] = normalize_env(kwargs['env']) # we have to use shell=True in order to get PATH handling # when looking for the binary on Windows return subprocess.call(*args, shell=sys.platform == 'win32', **kwargs) @@ -166,8 +146,6 @@ def check_output(*args, **kwargs): verbose = kwargs.pop('verbose', False) if verbose: print(' '.join(args[0])) - if 'env' in kwargs: - kwargs['env'] = normalize_env(kwargs['env']) # we have to use shell=True in order to get PATH handling # when looking for the binary on Windows return subprocess.check_output(*args, shell=sys.platform == 'win32', **kwargs) @@ -179,9 +157,6 @@ def check_call(*args, **kwargs): Also fix any unicode-containing `env`, for subprocess """ verbose = kwargs.pop('verbose', False) - if 'env' in kwargs: - kwargs['env'] = normalize_env(kwargs['env']) - if verbose: print(' '.join(args[0])) # we have to use shell=True in order to get PATH handling |