From f219558df5f16477b57e487bc8264860a3c1bef6 Mon Sep 17 00:00:00 2001 From: Richard Ipsum Date: Mon, 10 Nov 2014 16:45:05 +0000 Subject: Add stuff for <= and >= --- exts/pip_find_deps.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/exts/pip_find_deps.py b/exts/pip_find_deps.py index 30b0c68..2c457f0 100755 --- a/exts/pip_find_deps.py +++ b/exts/pip_find_deps.py @@ -182,32 +182,27 @@ def check_eqs(dep, version): elif version < dep.greater_than: dep.conflicts.append((dep.greater_than.spec, ('==', version))) -def check_lt(dep, version): +def check_lt(dep, version, inclusive=False): if dep.is_unconstrained(): - dep.less_than = LowerBound(version, inclusive=False) + dep.less_than = LowerBound(version, inclusive) elif dep.is_unbounded(): if dep.absolute >= version: dep.conflicts.append((('==', dep.absolute), ('<', version))) elif dep.greater_than >= version: dep.conflicts.append((dep.greater_than.spec, ('<', version))) else: - dep.less_than = LowerBound(version, inclusive=False) + dep.less_than = LowerBound(version, inclusive) -def check_lt_eq(dep, version): +def check_gt(dep, version, inclusive=False): if dep.is_unconstrained(): - dep.less_than = version - - -def check_gt(dep, version): - if dep.is_unconstrained(): - dep.greater_than = UpperBound(version, inclusive=False) + dep.greater_than = UpperBound(version, inclusive) elif dep.is_unbounded(): if dep.absolute <= version: dep.conflicts.append((('==', dep.absolute), ('>', version))) elif dep.less_than <= version: dep.conflicts.append((dep.less_than.spec, ('>', version))) else: - dep.greater_than = UpperBound(version, inclusive=False) + dep.greater_than = UpperBound(version, inclusive) def resolve_version_constraints(requirements): build_deps = {} @@ -237,9 +232,13 @@ def resolve_version_constraints(requirements): dep.conflicts.append((('==', dep.absolute), ('!=', version))) elif op == '<': - check_lt(dep, version) + check_lt(dep, version, inclusive=False) elif op == '>': - check_gt(dep, version) + check_gt(dep, version, inclusive=False) + elif op == '<=': + check_lt(dep, version, inclusive=True) + elif op == '>=': + check_gt(dep, version, inclusive=True) # Resolve versions #client = xmlrpclib.ServerProxy(PYPI_URL) -- cgit v1.2.1