diff options
| author | Tarek Ziade <tarek@ziade.org> | 2010-10-03 12:30:06 +0200 |
|---|---|---|
| committer | Tarek Ziade <tarek@ziade.org> | 2010-10-03 12:30:06 +0200 |
| commit | 47658d6c3a2d438c7f4e0de7471bb422b1610ca6 (patch) | |
| tree | 7c942b04b0ab01d06b1af54ddcb05fa260281dfa /distutils2/depgraph.py | |
| parent | 09fae4438308a7a316022a0e96afeee28d64a6dd (diff) | |
| download | disutils2-47658d6c3a2d438c7f4e0de7471bb422b1610ca6.tar.gz | |
make sure depgraph don't choke on irrational installed versions
Diffstat (limited to 'distutils2/depgraph.py')
| -rw-r--r-- | distutils2/depgraph.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/distutils2/depgraph.py b/distutils2/depgraph.py index fee524f..d8e92e3 100644 --- a/distutils2/depgraph.py +++ b/distutils2/depgraph.py @@ -4,7 +4,7 @@ and generate a dependency graph. import sys from StringIO import StringIO from distutils2.errors import DistutilsError -from distutils2.version import VersionPredicate +from distutils2.version import VersionPredicate, IrrationalVersionError __all__ = ['DependencyGraph', 'generate_graph', 'dependent_dists', 'graph_to_dot'] @@ -156,8 +156,17 @@ def generate_graph(dists): graph.add_missing(dist, req) else: matched = False - for (version, provider) in provided[name]: - if predicate.match(version): + for version, provider in provided[name]: + try: + match = predicate.match(version) + except IrrationalVersionError: + # XXX small compat-mode + if version.split(' ' ) == 1: + match = True + else: + match = False + + if match: graph.add_edge(dist, provider, req) matched = True break |
