diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2014-10-26 19:14:58 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2014-10-26 19:14:58 +0100 |
commit | 0b652529c6e8be9a383a3634acb2d9f039e5eba6 (patch) | |
tree | 3c6ad26d4c38baf2b274ba8ba7bb2b19dcf96351 /src | |
parent | 56d2b72b6f8b2e1a27a16dbfdab10f0b83816ceb (diff) | |
download | bcfg2-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')
-rw-r--r-- | src/lib/Bcfg2/Client/__init__.py | 16 |
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', '') |