From 115c7368fc133d556e8635236e89bf8ecf5c6989 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Thu, 19 Feb 2015 02:22:44 +0100 Subject: Reporting/Storage: Fix handling of extra packages. The code before for extra packages only worked for rpms because it only evaluated the version information of the contained tag and droped the package if no one was avilable. Now the handling of is optional and the package is imported everytime. --- src/lib/Bcfg2/Reporting/Storage/DjangoORM.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py index 96226c424..efd9e594c 100644 --- a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py +++ b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py @@ -109,8 +109,8 @@ class DjangoORM(StorageBase): # extra entries are a bit different. They can have Instance # objects if not act_dict['target_version']: - for instance in entry.findall("Instance"): - # FIXME - this probably only works for rpms + instance = entry.find("Instance") + if instance: release = instance.get('release', '') arch = instance.get('arch', '') act_dict['current_version'] = instance.get('version') @@ -118,9 +118,8 @@ class DjangoORM(StorageBase): act_dict['current_version'] += "-" + release if arch: act_dict['current_version'] += "." + arch - self.logger.debug("Adding package %s %s" % - (name, act_dict['current_version'])) - return PackageEntry.entry_get_or_create(act_dict) + self.logger.debug("Adding extra package %s %s" % + (name, act_dict['current_version'])) else: self.logger.debug("Adding package %s %s" % (name, act_dict['target_version'])) @@ -128,7 +127,7 @@ class DjangoORM(StorageBase): # not implemented yet act_dict['verification_details'] = \ entry.get('verification_details', '') - return PackageEntry.entry_get_or_create(act_dict) + return PackageEntry.entry_get_or_create(act_dict) def _import_Path(self, entry, state): name = entry.get('name') -- cgit v1.2.3-1-g7c22