def __init__(self): """Function for intializing the class. Args: None Returns: None """ # Initialize key variables directories = general.config_directories() self.config_dict = general.read_yaml_files(directories)
def __init__(self): """Function for intializing the class. Args: None Returns: None """ # Read configuration into dictionary self.directories = general.config_directories() self.config = general.read_yaml_files(self.directories)
def test_config_directories(self): """Test function config_directories.""" # Initialize key variables save_directory = None if 'INFOSET_CONFIGDIR' in os.environ: save_directory = os.environ['INFOSET_CONFIGDIR'] # Try with no INFOSET_CONFIGDIR os.environ.pop('INFOSET_CONFIGDIR', None) directory = '{}/etc'.format(general.root_directory()) result = general.config_directories() self.assertEqual(result, [directory]) # Test with INFOSET_CONFIGDIR set directory = tempfile.mkdtemp() os.environ['INFOSET_CONFIGDIR'] = directory result = general.config_directories() self.assertEqual(result, [directory]) # Restore state if save_directory is not None: os.environ['INFOSET_CONFIGDIR'] = save_directory
def __init__(self, daemon_username): """Function for intializing the class. Args: daemon_username: Username to run scripts as Returns: None """ # Initialize key variables valid_directories = [] config = ("""\ main: log_directory: log_level: debug ingest_cache_directory: ingest_pool_size: 20 listen_address: 0.0.0.0 bind_port: 6000 interval: 300 memcached_hostname: localhost memcached_port: 11211 sqlalchemy_pool_size: 10 sqlalchemy_max_overflow: 10 db_hostname: localhost db_username: infoset_ng db_password: db_name: infoset_ng username: {} """).format(daemon_username) self.config_dict = yaml.safe_load(config) directory_dict = defaultdict(lambda: defaultdict(dict)) # Read yaml files from configuration directory self.directories = general.config_directories() # Check each directory in sequence for config_directory in self.directories: # Check if config_directory exists if os.path.isdir(config_directory) is False: continue # Cycle through list of files in directory for filename in os.listdir(config_directory): # Examine all the '.yaml' files in directory if filename.endswith('.yaml'): # YAML files found valid_directories.append(config_directory) if bool(valid_directories) is True: directory_dict = general.read_yaml_files(valid_directories, die=False) # Populate config_dict with any values found in directory_dict # Only if the directory has valid files in it. if bool(directory_dict) is True: for _main, data_dict in directory_dict.items(): if _main != 'main': log_message = ( 'Invalid files found in configuration directory') log.log2die_safe(1033, log_message) for key, value in data_dict.items(): if value is not None: self.config_dict[_main][key] = value