def Validate(self):
    """Attempt to validate the artifact has been well defined.

    This is used to enforce Artifact rules. Since it checks all dependencies are
    present, this method can only be called once all artifacts have been loaded
    into the registry. Use ValidateSyntax to check syntax for each artifact on
    import.

    Raises:
      ArtifactDefinitionError: If artifact is invalid.
    """
    self.ValidateSyntax()

    try:
      # Check all artifact dependencies exist.
      for dependency in self.GetArtifactDependencies():
        dependency_obj = REGISTRY.GetArtifact(dependency)
        if dependency_obj.error_message:
          raise ArtifactDefinitionError(
              dependency % "Dependency %s has an error!")
    except ArtifactNotRegisteredError as e:
      raise ArtifactDefinitionError(e)
dataset/ETHPy150Open google/grr/grr/lib/artifact_registry.py/Artifact.Validate/swapped operands of `%`