• 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.
16from acts.config.config_sources.config_source import ConfigSource
17from acts.config.file_loader import ConfigFileLoader
18
19
20class FileConfigSource(ConfigSource):
21    """Defines the method to pull config data from a file."""
22    def __init__(self, file_path):
23        self.file_path = file_path
24
25    def gather_configs(self, config_entry_metas):
26        """Gathers configs from a config file. Is file-type agnostic.
27
28        Args:
29            config_entry_metas: A list of ConfigEntryMetas to fetch inputs for.
30
31        Returns:
32            The configuration dict pulled from the file.
33        """
34        # Ignore the values in the metas, since ACTS config files must always
35        # Adhere to the acts_config_value.
36        return ConfigFileLoader.load_config_from_file(self.file_path)
37