def execute(self): """Starts the application.""" # we don't take any arguments for now parser = argparse.ArgumentParser() parser.add_argument('--config-directory', help='config directory location') parser.add_argument('--create-config', action='store_true', help='generate default configuration files') parser.add_argument('--start-webpanel', action='store_true', help='start the web panel') args = parser.parse_args() # determine config directory location self.__config_dir = args.config_directory if args.config_directory else defaults.config_folder_path # generate config if should be generated end stop execution if args.create_config: print("Generating config directory: {}".format(self.__config_dir)) config_generator.create_config_directory(self.__config_dir) return self.__config = config_reader.read_config_file(defaults.get_global_config_path(self.__config_dir)) self.__start_processing() # filter enabled modules from config and start them enabled_modules = {k: v for (k, v) in self.__config.items('modules') if v == 'True'} enabled_modules_names = map(lambda item: item[0], enabled_modules.items()) self.__start_modules(enabled_modules_names) if args.start_webpanel: self.__start_webpanel()
def execute(self): """Starts the application.""" # we don't take any arguments for now parser = argparse.ArgumentParser() parser.add_argument('--config-directory', help='config directory location') parser.add_argument('--create-config', action='store_true', help='generate default configuration files') parser.add_argument('--start-webpanel', action='store_true', help='start the web panel') args = parser.parse_args() # determine config directory location self.__config_dir = args.config_directory if args.config_directory else defaults.config_folder_path # generate config if should be generated end stop execution if args.create_config: print("Generating config directory: {}".format(self.__config_dir)) config_generator.create_config_directory(self.__config_dir) return self.__config = config_reader.read_config_file( defaults.get_global_config_path(self.__config_dir)) self.__start_processing() # filter enabled modules from config and start them enabled_modules = { k: v for (k, v) in self.__config.items('modules') if v == 'True' } enabled_modules_names = map(lambda item: item[0], enabled_modules.items()) self.__start_modules(enabled_modules_names) if args.start_webpanel: self.__start_webpanel()
def create_config_directory(dirpath): """Creates config directory at the given path""" # create directories if not os.path.isdir(dirpath): os.mkdir(dirpath) # save global config file global_config_path = defaults.get_global_config_path(dirpath) if not os.path.isfile(global_config_path): shutil.copyfile('reminisc/config/default_config.ini', global_config_path) # create config database dbpath = defaults.get_config_database_path(dirpath) print(dbpath) create_config_database(dbpath) # save config files for all modules for reminisc_module_name in defaults.approved_reminisc_modules: reminisc_module_impls = utils.find_reminisc_module_implementations(reminisc_module_name) if len(reminisc_module_impls) > 1: logger.error("Reminisc module {} defines more than one module class. Config will not be generated" .format(reminisc_module_name)) else: for impl in reminisc_module_impls: module_dir = defaults.get_module_config_dir(dirpath, reminisc_module_name) module_config = defaults.get_module_config_path(dirpath, reminisc_module_name) if not os.path.isdir(module_dir): print(module_dir) os.makedirs(module_dir) if not os.path.isfile(module_config): print(module_config) config_file = open(module_config, 'w') config_file.write(impl.default_config()) config_file.close()