code: def options_from_file(args):
      
      logger.debug("updating options from config files")
      updated_from_file = []
      for config_file in CONFIG_FILES:
          logger.debug("updating from: %s", config_file)
          parser = ConfigParser()
          parser.read(config_file)
          try:
              items = parser.items('fades')
          except NoSectionError:
              continue
  
          for config_key, config_value in items:
              if config_value in ['true', 'false']:
                  config_value = config_value == 'true'
              if config_key in MERGEABLE_CONFIGS:
                  current_value = getattr(args, config_key, [])
                  if current_value is None:
                      current_value = []
                  current_value.append(config_value)
                  setattr(args, config_key, current_value)
              if not getattr(args, config_key, False) or config_key in updated_from_file:
                  # By default all 'store-true' arguments are False. So we only
                  # override them if they are False. If they are True means that the
                  # user is setting those on the CLI.
                  setattr(args, config_key, config_value)
                  updated_from_file.append(config_key)
                  logger.debug("updating %s to %s from file settings", config_key, config_value)
  
      return args
docs: Get a argparse.Namespace and return it updated with options from config files.
  
      Config files will be parsed with priority equal to his order in CONFIG_FILES.