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 = {} latest = {}
for f in pkgList: for f in pkgList:
try: try:
name, version = util.parse_package_name(f) name, full_version = util.parse_package_name(f)
if latest.has_key(name): version, release, build = pisi.util.split_version(full_version)
if Version(latest[name]) < Version(version):
latest[name] = version version = Version(version)
else: release = int(release)
if version: if build:
latest[name] = version 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: except:
pass pass
latestVersions = [] latestVersions = []
for pkg in latest: 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)) oldVersions = list(set(pkgList) - set(latestVersions))
return oldVersions, latestVersions return oldVersions, latestVersions