From e27bb7d12b73046f4805025fd2a53fc6bb3b1dfa Mon Sep 17 00:00:00 2001 From: Donald Stufft Date: Sun, 14 Dec 2014 13:22:29 -0500 Subject: Add more compatability shims to SetuptoolsVersion * Enables indexing the SetuptoolsVersion objects, triggering the legacy behavior warning. * Enables comparing the SetuptoolsVersion object to a tuple, again triggering the legacy behavior warning. --- pkg_resources.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'pkg_resources.py') diff --git a/pkg_resources.py b/pkg_resources.py index e1109608..5df5a3e6 100644 --- a/pkg_resources.py +++ b/pkg_resources.py @@ -81,6 +81,46 @@ packaging = setuptools._vendor.packaging class _SetuptoolsVersionMixin(object): + + def __lt__(self, other): + if isinstance(other, tuple): + return tuple(self) < other + else: + return super(_SetuptoolsVersionMixin, self).__lt__(other) + + def __le__(self, other): + if isinstance(other, tuple): + return tuple(self) <= other + else: + return super(_SetuptoolsVersionMixin, self).__le__(other) + + def __eq__(self, other): + if isinstance(other, tuple): + return tuple(self) == other + else: + return super(_SetuptoolsVersionMixin, self).__eq__(other) + + def __ge__(self, other): + if isinstance(other, tuple): + return tuple(self) >= other + else: + return super(_SetuptoolsVersionMixin, self).__ge__(other) + + def __gt__(self, other): + if isinstance(other, tuple): + return tuple(self) > other + else: + return super(_SetuptoolsVersionMixin, self).__gt__(other) + + def __ne__(self, other): + if isinstance(other, tuple): + return tuple(self) != other + else: + return super(_SetuptoolsVersionMixin, self).__ne__(other) + + def __getitem__(self, key): + return tuple(self)[key] + def __iter__(self): component_re = re.compile(r'(\d+ | [a-z]+ | \.| -)', re.VERBOSE) replace = { -- cgit v1.2.1