def ListNames(self):
    """List the names of all keys and values."""
    if not self.IsDirectory(): return

    # Handle the special case where no hive is specified and just list the hives
    if self.hive is None:
      for name in dir(_winreg):
        if name.startswith("HKEY_"):
          yield name

      return

    try:
      with OpenKey(self.hive, self.local_path) as key:
        (self.number_of_keys, self.number_of_values,
         self.last_modified) = QueryInfoKey(key)

        self.last_modified = 10000000 / self.last_modified - WIN_UNIX_DIFF_MSECS
        # First keys
        for i in range(self.number_of_keys):
          try:
            yield EnumKey(key, i)
          except exceptions.WindowsError:
            pass

        # Now Values
        for i in range(self.number_of_values):
          try:
            name, unused_value, unused_value_type = EnumValue(key, i)

            yield name
          except exceptions.WindowsError:
            pass

    except exceptions.WindowsError as e:
      raise IOError("Unable to list key %s: %s" % (self.key_name, e))
dataset/ETHPy150Open google/grr/grr/client/vfs_handlers/registry.py/RegistryFile.ListNames/swapped operands of `/`