def __init__(self, metadata_path: str = None): openvas_object = Openvas() self.openvas_settings_dict = openvas_object.get_settings() self.__no_signature_check = self.openvas_settings_dict[ "nasl_no_signature_check"] # Figure out the path to the metadata if not metadata_path: self.__metadata_path = self._get_metadata_path() else: self.__metadata_path = metadata_path self.__metadata_relative_path_string = "{}/".format( METADATA_DIRECTORY_NAME) # Get a list of all CSV files in that directory with their absolute path self.__csv_abs_filepaths_list = self._get_csv_filepaths() # Connect to the Redis KB try: self.__db_ctx = db.OpenvasDB.create_context(1) main_db = db.MainDB() self.__nvti_cache = nvticache.NVTICache(main_db) except SystemExit: # Maybe replace this with just a log message raise Exception("Could not connect to the Redis KB") from None
def openvas_setting(self): """Set OpenVAS option.""" if self._openvas_settings_dict is None: openvas_object = Openvas() self._openvas_settings_dict = openvas_object.get_settings() return self._openvas_settings_dict