def multi_replace(self, text, replace_dict): """ This redundant method is here so that plugins can use it :param text: Text to replace with :type text: `str` :param replace_dict: Dict to modify :type replace_dict: `dict` :return: Replaced dict :rtype: `dict` """ return multi_replace(text, replace_dict)
def get_all_tools(session): """Get all tools from the config DB :return: Config dict for all tools :rtype: `dict` """ results = session.query(models.ConfigSetting).filter(models.ConfigSetting.key.like("%TOOL_%")).all() config_dicts = derive_config_dicts(results) for config_dict in config_dicts: config_dict["value"] = multi_replace(config_dict["value"], config_handler.get_replacement_dict()) return config_dicts
def get_config_val(session, key): """Get the value of the key from DB :param key: Key to lookup :type key: `str` :return: Value :rtype: `str` """ obj = session.query(models.ConfigSetting).get(key) if obj: return multi_replace(obj.value, config_handler.get_replacement_dict()) else: return None
def get_resource_list(session, resource_type_list): """Get list of resources from list of types :param resource_type_list: List of resource types :type resource_type_list: `list` :return: List of resources :rtype: `list` """ replacement_dict = get_rsrc_replacement_dict(session) raw_resources = get_raw_resource_list(session, resource_type_list) resources = [] for name, resource in raw_resources: resources.append([name, multi_replace(resource, replacement_dict)]) return resources
def get_resources(resource_type): """Fetch resources filtered on type :param resource_type: Resource type :type resource_type: `str` :return: List of resources :rtype: `list` """ session = get_scoped_session() replacement_dict = get_rsrc_replacement_dict(session) raw_resources = get_raw_resources(session, resource_type) resources = [] for name, resource in raw_resources: resources.append([name, multi_replace(resource, replacement_dict)]) return resources
def load_framework_config_file(default, fallback, root_dir, owtf_pid): """Load the configuration into a global dictionary. :param config_path: The configuration file path :type config_path: `str` :return: None :rtype: None """ config_path = default if not os.path.isfile(config_path): config_path = fallback logging.info("Loading config from: {}..".format(config_path)) config_file = FileOperations.open(config_path, 'r') config_handler.set_val('FRAMEWORK_DIR', root_dir) # Needed Later. for line in config_file: try: key = line.split(':')[0] if key[0] == '#': # Ignore comment lines. continue value = line.replace("{}: ".format(key), "").strip() config_handler.set_val(key, multi_replace(value, {'FRAMEWORK_DIR': root_dir, 'OWTF_PID': str(owtf_pid)})) except ValueError: abort_framework("Problem in config file: {} -> Cannot parse line: {}".format(config_path, line))