api: Do not use Version class for full package versions

This commit is contained in:
Fatih Aşıcı
2010-03-08 09:26:08 +00:00
parent 0b46c4a706
commit a81590a42a
+19 -8
View File
@@ -923,19 +923,30 @@ def clearCache(all=False):
latest = {}
for f in pkgList:
try:
name, version = util.parse_package_name(f)
if latest.has_key(name):
if Version(latest[name]) < Version(version):
latest[name] = version
else:
if version:
latest[name] = version
name, full_version = util.parse_package_name(f)
version, release, build = pisi.util.split_version(full_version)
version = Version(version)
release = int(release)
if build:
build = int(build)
if name in latest:
lversion, lrelease, lbuild = latest[name]
if lbuild and build:
if lbuild > build:
continue
elif lrelease > release:
continue
latest[name] = full_version, release, build
except:
pass
latestVersions = []
for pkg in latest:
latestVersions.append("%s-%s" % (pkg, latest[pkg]))
latestVersions.append("%s-%s" % (pkg, latest[pkg][0]))
oldVersions = list(set(pkgList) - set(latestVersions))
return oldVersions, latestVersions