diff options
Diffstat (limited to 'harnesses/host_controller/acloud/acloud_config.py')
-rw-r--r-- | harnesses/host_controller/acloud/acloud_config.py | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/harnesses/host_controller/acloud/acloud_config.py b/harnesses/host_controller/acloud/acloud_config.py deleted file mode 100644 index 0ceab47..0000000 --- a/harnesses/host_controller/acloud/acloud_config.py +++ /dev/null @@ -1,103 +0,0 @@ -# -# Copyright (C) 2018 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -import logging -import os - - -# In fact, all fields are required. The fields listed below are used -# to check whether the config class has been properly initialized before -# generating config file -REQUIRED_KEYS = [ - 'ssh_public_key_path', - 'ssh_private_key_path', - 'project', - 'client_id', - 'client_secret' - ] - - -class ACloudConfig(object): - '''For ACloud configuration file operations. - - Attributes: - configs: dict of string:string, configuration keys and values. - has_error: bool, whether error occurred. - ''' - configs = {} - has_error = False - - def Validate(self): - '''Validate config class. - - Check whether required fields has been set. - Check whether loading configuration file is success. - - Returns: - bool, True if validated. - ''' - for key in REQUIRED_KEYS: - if key not in self.configs: - logging.error('Required key %s is not ' - 'set for acloud config' % key) - return False - - return not self.has_error - - def Load(self, file_path): - '''Load configs from a file. - - Args: - file_path: string, path to config file. - ''' - if not os.path.isfile(file_path): - logging.error('Failed to read acloud config file %s' % file_path) - self.has_error = True - return - - separator = ': "' - - with open(file_path, 'r') as f: - for line in f: - line = line.strip() - # Skip empty line and comments - if not line or line.startswith('#'): - continue - - idx = line.find(separator) - - if idx < 1 or not line.endswith('"'): - logging.error('Error parsing line %s from ' - 'acloud config file %s' % (line, file_path)) - self.has_error = True - return - - key = line[:idx] - val = line[len(separator) + idx : -1] - - self.configs[key] = val - - def Save(self, file_path): - '''Save config to a file. - - Args: - file_path: string, path to config file. - ''' - separator = ':' - - with open(file_path, 'w') as f: - for key in self.configs: - f.write(key + separator + '"%s"' % self.configs[key])
\ No newline at end of file |