summaryrefslogtreecommitdiff
path: root/python/pkgloader.py
diff options
context:
space:
mode:
authorMartin Pihlak2009-11-06 08:57:06 +0000
committerMartin Pihlak2009-11-06 08:57:06 +0000
commitd7db381ed4365848e7fefdfbee2ffa7f99da4903 (patch)
tree4d3c09ef2029cbd92c86eee45eab55dc291b604e /python/pkgloader.py
parent0f31618dc5b868123f278efb37ce1064ef4675b2 (diff)
parent661a2e367246d3915c387679c13f6e56aade9c82 (diff)
Merge branch 'master' of git://github.com/markokr/skytools-dev
Diffstat (limited to 'python/pkgloader.py')
-rw-r--r--python/pkgloader.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/python/pkgloader.py b/python/pkgloader.py
index 940defe5..f27b3571 100644
--- a/python/pkgloader.py
+++ b/python/pkgloader.py
@@ -49,15 +49,15 @@ def require(pkg, reqver):
got = _import_cache[pkg]
if need[0] != got[0] or reqval > got:
raise ImportError("Request for package '%s' ver '%s', have '%s'" % (
- pkg, reqver, '.'.join(_skytools_required_version)))
+ pkg, reqver, '.'.join(got)))
return
# pick best ver from available ones
- _pkg_cache = _load_pkg_cache()
- if pkg not in _pkg_cache:
+ cache = _load_pkg_cache()
+ if pkg not in cache:
return
- for pkgver, pkgdir in _pkg_cache[pkg]:
+ for pkgver, pkgdir in cache[pkg]:
if pkgver[0] == need[0] and pkgver >= need:
# install the best on
_install_path(pkg, os.path.join(_top, pkgdir))
@@ -69,12 +69,13 @@ def require(pkg, reqver):
mod = __import__(pkg)
ver_str = mod.__version__
# check if it is actually useful
+ ver_str = ver_str.split('-', 1)[0]
full_ver = tuple([int(x) for x in ver_str.split('.')])
if full_ver[0] != reqval[0] or reqval > full_ver:
raise ImportError("Request for Skytools ver '%s', got '%s'" % (
- reqver, full_str))
+ reqver, '.'.join(full_ver)))
raise ImportError("Request for package '%s' ver '%s', have '%s'" % (
- pkg, reqver, full_str))
+ pkg, reqver, '.'.join(full_ver)))
inst_ver = full_ver
except ImportError:
pass