1# 2# Copyright 2017 - The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16import os 17 18 19def SaveAndClearEnvVars(var_name_list): 20 """Saves and clears the values of existing environment variables. 21 22 Args: 23 var_name_list: a list of strings where each string is the environment 24 variable name. 25 26 Returns: 27 a dict where the key is an environment variable and the value is the 28 saved environment variable value. 29 """ 30 env_vars = {} 31 for var_name in var_name_list: 32 if var_name in os.environ: 33 env_vars[var_name] = os.environ[var_name] 34 os.environ[var_name] = "" 35 return env_vars 36 37 38def RestoreEnvVars(env_vars): 39 """Restores the values of existing environment variables. 40 41 Args: 42 env_vars: a dict where the key is an environment variable and 43 the value is the environment variable value to set. 44 """ 45 for var_name in env_vars: 46 os.environ[var_name] = env_vars[var_name] 47