backend/satellite_tools/reports/data/inventory | 13 ++++++-- backend/satellite_tools/spacewalk-report | 38 +++++++++++++------------ 2 files changed, 30 insertions(+), 21 deletions(-)
New commits: commit 14ea93bfd94eea8906900b0cded55eacb36659c7 Author: Jan Pazdziora jpazdziora@redhat.com Date: Fri Jul 24 15:16:09 2009 +0200
reporting: fix the logic in spacewalk-report to avoid having duplicated values.
diff --git a/backend/satellite_tools/spacewalk-report b/backend/satellite_tools/spacewalk-report index 5d2f911..bd831a2 100755 --- a/backend/satellite_tools/spacewalk-report +++ b/backend/satellite_tools/spacewalk-report @@ -118,38 +118,40 @@ if __name__ == '__main__': "Columns in report spec and in the database do not match:\nexpected %s\n got %s" % ( report.columns, db_columns )) writer.writerow(report.columns)
- multival_keys = sorted(report.multival_columns_stop + report.multival_columns_reverted.keys()) - row = h.fetchone() prevrow = None outrow = None + multival_dupes = {} while row != None: if options.multivalonrows: writer.writerow(row) row = h.fetchone() continue
- if outrow == None: - outrow = [ x for x in row ] - else: - go = True - for m in multival_keys: + if outrow != None: + for m in report.multival_columns_stop: + if prevrow[m] != row[m]: + writer.writerow(outrow) + outrow = None + break + + if outrow != None: + for m in report.multival_columns_reverted.keys(): if prevrow[m] != row[m]: - if m in report.multival_columns_reverted: - for v in report.multival_columns_reverted[m]: - outrow[v] = str(outrow[v]) + options.multivalseparator + str(row[v]) - go = False - break - else: - break - if not go: + if not m in multival_dupes: + multival_dupes[m] = {} + if not row[m] in multival_dupes[m]: + outrow[m] = str(outrow[m]) + options.multivalseparator + str(row[m]) + multival_dupes[m][row[m]] = 1 break
- if go: - writer.writerow(outrow) - outrow = [ x for x in row ] + if outrow == None: + outrow = [ x for x in row ] + multival_dupes = {} + prevrow = row row = h.fetchone() + if outrow != None: writer.writerow(outrow) else:
commit 5e06b348bf5acd747dde84ed03321902fd5ce234 Author: Jan Pazdziora jpazdziora@redhat.com Date: Fri Jul 24 09:48:42 2009 +0200
reporting: add the configuration channel to the report.
diff --git a/backend/satellite_tools/reports/data/inventory b/backend/satellite_tools/reports/data/inventory index 1423fc8..0d1a157 100755 --- a/backend/satellite_tools/reports/data/inventory +++ b/backend/satellite_tools/reports/data/inventory @@ -12,11 +12,13 @@ columns: packages_out_of_date errata_out_of_date software_channel + configuration_channel
multival_columns:
server_id software_channel : software_channel + configuration_channel : configuration_channel
sql:
@@ -30,7 +32,8 @@ sql: where rhnserver.id = rhnserverneededpackagecache.server_id and rhnserverneededpackagecache.package_id = rhnpackage.id ) as packages_out_of_date, ( select count(*) from rhnServerErrataTypeView where rhnserver.id = server_id ) as errata_out_of_date, - rhnchannel.name as software_channel + rhnchannel.name as software_channel, + rhnconfigchannel.name as configuration_channel from rhnserver, ( select server_id, hostname, ipaddr @@ -41,9 +44,13 @@ sql: group by server_id ) ) rhnservernetwork, - rhnserverchannel, rhnchannel + rhnserverchannel, rhnchannel, + rhnserverconfigchannel, rhnconfigchannel where rhnserver.id = rhnservernetwork.server_id (+) and rhnserver.id = rhnserverchannel.server_id (+) and rhnserverchannel.channel_id = rhnchannel.id (+) - order by server_id, rhnchannel.parent_channel nulls first, rhnchannel.id + and rhnserver.id = rhnserverconfigchannel.server_id (+) + and rhnserverconfigchannel.config_channel_id = rhnconfigchannel.id (+) + order by server_id, rhnchannel.parent_channel nulls first, rhnchannel.id, + rhnconfigchannel.id
spacewalk-commits@lists.fedorahosted.org