summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Client
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2014-10-26 19:14:58 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2014-10-26 19:14:58 +0100
commit0b652529c6e8be9a383a3634acb2d9f039e5eba6 (patch)
tree3c6ad26d4c38baf2b274ba8ba7bb2b19dcf96351 /src/lib/Bcfg2/Client
parent56d2b72b6f8b2e1a27a16dbfdab10f0b83816ceb (diff)
downloadbcfg2-0b652529c6e8be9a383a3634acb2d9f039e5eba6.tar.gz
bcfg2-0b652529c6e8be9a383a3634acb2d9f039e5eba6.tar.bz2
bcfg2-0b652529c6e8be9a383a3634acb2d9f039e5eba6.zip
Client: fix statistics for only-important mode
Do not report non-important entries as bad entries in only-important mode.
Diffstat (limited to 'src/lib/Bcfg2/Client')
-rw-r--r--src/lib/Bcfg2/Client/__init__.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/lib/Bcfg2/Client/__init__.py b/src/lib/Bcfg2/Client/__init__.py
index 073aa7694..5f4f15dcc 100644
--- a/src/lib/Bcfg2/Client/__init__.py
+++ b/src/lib/Bcfg2/Client/__init__.py
@@ -873,15 +873,21 @@ class Client(object):
def GenerateStats(self):
"""Generate XML summary of execution statistics."""
+ states = {}
+ for (item, val) in list(self.states.items()):
+ if not Bcfg2.Options.setup.only_important or \
+ item.get('important', 'false').lower() == 'true':
+ states[item] = val
+
feedback = XML.Element("upload-statistics")
stats = XML.SubElement(feedback,
- 'Statistics', total=str(len(self.states)),
+ 'Statistics', total=str(len(states)),
version='2.0',
revision=self.config.get('revision', '-1'))
- good_entries = [key for key, val in list(self.states.items()) if val]
+ good_entries = [key for key, val in list(states.items()) if val]
good = len(good_entries)
stats.set('good', str(good))
- if any(not val for val in list(self.states.values())):
+ if any(not val for val in list(states.values())):
stats.set('state', 'dirty')
else:
stats.set('state', 'clean')
@@ -890,8 +896,8 @@ class Client(object):
for (data, ename) in [(self.modified, 'Modified'),
(self.extra, "Extra"),
(good_entries, "Good"),
- ([entry for entry in self.states
- if not self.states[entry]], "Bad")]:
+ ([entry for entry in states
+ if not states[entry]], "Bad")]:
container = XML.SubElement(stats, ename)
for item in data:
item.set('qtext', '')