From 6dd1341ae09c73a11ed19b256d1f95da191f004b Mon Sep 17 00:00:00 2001 From: John Chilton Date: Fri, 27 Jan 2017 12:28:26 -0500 Subject: [PATCH] Give ToolRequirements a string representation for easier debugging. --- lib/galaxy/tools/deps/requirements.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/galaxy/tools/deps/requirements.py b/lib/galaxy/tools/deps/requirements.py index bdb0ae0451a..171772f08f1 100644 --- a/lib/galaxy/tools/deps/requirements.py +++ b/lib/galaxy/tools/deps/requirements.py @@ -1,5 +1,7 @@ import copy +import six + from galaxy.util import ( asbool, xml_text, @@ -11,6 +13,7 @@ DEFAULT_REQUIREMENT_TYPE = "package" DEFAULT_REQUIREMENT_VERSION = None +@six.python_2_unicode_compatible class ToolRequirement( object ): """ Represents an external requirement that must be available for the tool to @@ -47,6 +50,11 @@ class ToolRequirement( object ): def __hash__(self): return hash((self.name, self.type, self.version, frozenset(self.specs))) + def __str__(self): + return "ToolRequirement[%s,version=%s,type=%s,specs=%s]" % (self.name, self.version, self.type, self.specs) + + __repr__ = __str__ + class RequirementSpecification(object): """Refine a requirement using a URI."""