[entropy.spm] when get_installed_package_metadata fails, raise KeyError and handle it

This commit is contained in:
Fabio Erculiani
2010-01-17 12:19:49 +01:00
parent d5d9672b9b
commit f6826592fb
3 changed files with 10 additions and 3 deletions

View File

@@ -401,8 +401,11 @@ def _database_spmsync(entropy_client):
spm_packages = Spm.get_installed_packages()
installed_packages = []
for spm_package in spm_packages:
pkg_counter = Spm.get_installed_package_metadata(spm_package,
"COUNTER")
try:
pkg_counter = Spm.get_installed_package_metadata(spm_package,
"COUNTER")
except KeyError:
continue
try:
pkg_counter = int(pkg_counter)
except ValueError:

View File

@@ -396,7 +396,10 @@ class PortagePlugin(SpmPlugin):
if root is None:
root = etpConst['systemroot'] + os.path.sep
vartree = self._get_portage_vartree(root = root)
return vartree.dbapi.aux_get(package, [key])[0]
try:
return vartree.dbapi.aux_get(package, [key])[0]
except KeyError: # make clear that we raise KeyError
raise
def get_system_packages(self):
"""

View File

@@ -176,6 +176,7 @@ class SpmPlugin(Singleton):
@type root: string
@return: package metadata value
@rtype: string
@raise KeyError: if package is not available
"""
raise NotImplementedError()