def Run(self):
    VFS_HANDLERS.clear()
    for handler in VFSHandler.classes.values():
      if handler.auto_register:
        VFS_HANDLERS[handler.supported_pathtype] = handler

    VFS_VIRTUALROOTS.clear()
    vfs_virtualroots = config_lib.CONFIG["Client.vfs_virtualroots"]
    for vfs_virtualroot in vfs_virtualroots:
      try:
        handler_string, root = vfs_virtualroot.split(":", 1)
      except __HOLE__:
        raise ValueError(
            "Badly formatted vfs virtual root: %s. Correct format is "
            "os:/path/to/virtual_root" % vfs_virtualroot)

      handler_string = handler_string.upper()
      handler = rdf_paths.PathSpec.PathType.enum_dict.get(handler_string)
      if handler is None:
        raise ValueError("Unsupported vfs handler: %s." % handler_string)

      # We need some translation here, TSK needs an OS virtual root base. For
      # every other handler we can just keep the type the same.
      base_types = {
          rdf_paths.PathSpec.PathType.TSK: rdf_paths.PathSpec.PathType.OS
      }
      base_type = base_types.get(handler, handler)
      VFS_VIRTUALROOTS[handler] = rdf_paths.PathSpec(
          path=root, pathtype=base_type, is_virtualroot=True)
dataset/ETHPy150Open google/grr/grr/client/vfs.py/VFSInit.Run