summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2014-10-27 08:08:30 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2014-10-27 08:08:30 -0500
commitce10ba84b40222e0bd4c14d639b781acc0c80b50 (patch)
tree85b3a9ff8d3bf98c401c8a8424fa9c55d057e977 /src/lib
parent883f6813639d5c3b09cf1234b7052cf38f7628de (diff)
parent0b652529c6e8be9a383a3634acb2d9f039e5eba6 (diff)
downloadbcfg2-ce10ba84b40222e0bd4c14d639b781acc0c80b50.tar.gz
bcfg2-ce10ba84b40222e0bd4c14d639b781acc0c80b50.tar.bz2
bcfg2-ce10ba84b40222e0bd4c14d639b781acc0c80b50.zip
Merge pull request #225 from AlexanderS/fix-stats-only-important
Client: fix statistics for only-important mode
Diffstat (limited to 'src/lib')
-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', '')