• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python3
2#
3#   Copyright 2018 - The Android Open Source Project
4#
5#   Licensed under the Apache License, Version 2.0 (the "License");
6#   you may not use this file except in compliance with the License.
7#   You may obtain a copy of the License at
8#
9#       http://www.apache.org/licenses/LICENSE-2.0
10#
11#   Unless required by applicable law or agreed to in writing, software
12#   distributed under the License is distributed on an "AS IS" BASIS,
13#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14#   See the License for the specific language governing permissions and
15#   limitations under the License.
16import os
17
18from acts.config.config_sources.config_source import ConfigSource
19
20
21class EnvConfigSource(ConfigSource):
22    """Defines how to obtain config data from Environment Variables."""
23    def gather_configs(self, config_entry_metas):
24        """Gathers configs from the environment (os.environ).
25
26        Args:
27            config_entry_metas: A list of ConfigEntryMetas to fetch inputs for.
28
29        Returns:
30            A dict of {config_key: value}.
31        """
32        config = {}
33        for entry in config_entry_metas:
34            if (entry.env_var_name is not None and
35                    entry.env_var_name in os.environ):
36                config[entry.acts_config_key] = os.environ[entry.env_var_name]
37        return config
38