code: def load_toml_path_config(filename):
      
      if not os.path.exists(filename):
          LOGGER.info(
              "Skipping path loading from non-existent config file: %s",
              filename)
          return PathConfig()
  
      LOGGER.info("Loading path information from config: %s", filename)
  
      try:
          with open(filename) as fd:
              raw_config = fd.read()
      except IOError as e:
          raise LocalConfigurationError(
              "Unable to load path configuration file: {}".format(str(e)))
  
      toml_config = toml.loads(raw_config)
  
      invalid_keys = set(toml_config.keys()).difference(
          ['data_dir', 'key_dir', 'log_dir', 'policy_dir'])
      if invalid_keys:
          raise LocalConfigurationError("Invalid keys in path config: {}".format(
              ", ".join(sorted(list(invalid_keys)))))
  
      config = PathConfig(
          config_dir=None,
          data_dir=toml_config.get('data_dir', None),
          key_dir=toml_config.get('key_dir', None),
          log_dir=toml_config.get('log_dir', None),
          policy_dir=toml_config.get('policy_dir', None)
      )
  
      return config
docs: Returns a PathConfig created by loading a TOML file from the
      filesystem.