api: Do not use Version class for full package versions
This commit is contained in:
+19
-8
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user