diff options
Diffstat (limited to 'src/lib/Bcfg2/Client/__init__.py')
-rw-r--r-- | src/lib/Bcfg2/Client/__init__.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/lib/Bcfg2/Client/__init__.py b/src/lib/Bcfg2/Client/__init__.py index 674162572..157cc7f65 100644 --- a/src/lib/Bcfg2/Client/__init__.py +++ b/src/lib/Bcfg2/Client/__init__.py @@ -10,6 +10,7 @@ import fnmatch import logging import argparse import tempfile +import copy import Bcfg2.Logger import Bcfg2.Options from Bcfg2.Client import XML @@ -67,7 +68,7 @@ def prompt(msg): ans = safe_input(msg) return ans in ['y', 'Y'] except UnicodeEncodeError: - ans = input(msg.encode('utf-8')) + ans = safe_input(msg.encode('utf-8')) return ans in ['y', 'Y'] except (EOFError, KeyboardInterrupt): # handle ^C @@ -920,8 +921,8 @@ class Client(object): """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': + if (not Bcfg2.Options.setup.only_important or + item.get('important', 'false').lower() == 'true'): states[item] = val feedback = XML.Element("upload-statistics") @@ -929,6 +930,11 @@ class Client(object): 'Statistics', total=str(len(states)), version='2.0', revision=self.config.get('revision', '-1')) + flags = XML.SubElement(stats, "Flags") + XML.SubElement(flags, "Flag", name="dry_run", + value=str(Bcfg2.Options.setup.dry_run)) + XML.SubElement(flags, "Flag", name="only_important", + value=str(Bcfg2.Options.setup.only_important)) good_entries = [key for key, val in list(states.items()) if val] good = len(good_entries) stats.set('good', str(good)) @@ -945,9 +951,10 @@ class Client(object): if not states[entry]], "Bad")]: container = XML.SubElement(stats, ename) for item in data: - item.set('qtext', '') - container.append(item) - item.text = None + new_item = copy.deepcopy(item) + new_item.set('qtext', '') + container.append(new_item) + new_item.text = None timeinfo = XML.Element("OpStamps") feedback.append(stats) |