[entropy.server] tidy_mirrors: do not show packages as weak if they've already marked

This commit is contained in:
Fabio Erculiani
2013-03-03 00:12:06 +00:00
parent be758fae7b
commit 9f0bdb959c
+20 -2
View File
@@ -1993,6 +1993,22 @@ class Server(object):
pkg_path += etpConst['packagesexpirationfileext']
return os.path.lexists(pkg_path)
def _weaken_file_exists(self, repository_id, package_rel):
"""
Return whether the weaken file exists for the given package.
@param repository_id: repository identifier
@type repository_id: string
@param package_rel: package relative url, as returned by
EntropyRepository.retrieveDownloadURL
@type package_rel: string
"""
pkg_path = self._entropy.complete_local_package_path(package_rel,
repository_id)
pkg_path += etpConst['packagesweakfileext']
return os.path.lexists(pkg_path)
def _create_expiration_file(self, repository_id, package_rel):
"""
Mark the package file as expired by creating an .expired file
@@ -2264,7 +2280,8 @@ class Server(object):
else:
if not self._expiration_file_exists(repository_id, package_rel):
expire.append(package_rel)
if weak_package_files:
if weak_package_files and self._weaken_file_exists(
repository_id, package_rel):
weaken.append(package_rel)
for extra_package_rel in extra_expiring_packages:
@@ -2276,7 +2293,8 @@ class Server(object):
if not self._expiration_file_exists(
repository_id, extra_package_rel):
expire.append(extra_package_rel)
if weak_package_files:
if weak_package_files and self._weaken_file_exists(
repository_id, extra_package_rel):
weaken.append(extra_package_rel)
if not (remove or weaken or expire):