diff options
author | Sol Jerome <sol.jerome@gmail.com> | 2013-09-01 13:32:01 -0500 |
---|---|---|
committer | Sol Jerome <sol.jerome@gmail.com> | 2013-09-01 13:32:01 -0500 |
commit | 6b637011e1be7ff8cd67c208df8ae9ab28f11c4c (patch) | |
tree | 7ae29d903e3df8663be2fcd3239f198fa14b6c18 /src/lib | |
parent | 435392d12e988f5952ee3a8e2d1c2ee50df7b99b (diff) | |
download | bcfg2-6b637011e1be7ff8cd67c208df8ae9ab28f11c4c.tar.gz bcfg2-6b637011e1be7ff8cd67c208df8ae9ab28f11c4c.tar.bz2 bcfg2-6b637011e1be7ff8cd67c208df8ae9ab28f11c4c.zip |
Probes: Fix unicode probes
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/Bcfg2/Client/__init__.py | 6 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Probes.py | 11 |
2 files changed, 13 insertions, 4 deletions
diff --git a/src/lib/Bcfg2/Client/__init__.py b/src/lib/Bcfg2/Client/__init__.py index 19db94015..6243213cd 100644 --- a/src/lib/Bcfg2/Client/__init__.py +++ b/src/lib/Bcfg2/Client/__init__.py @@ -193,7 +193,11 @@ class Client(object): ret = XML.Element("probe-data", name=name, source=probe.get('source')) try: scripthandle, scriptname = tempfile.mkstemp() - script = os.fdopen(scripthandle, 'w') + if sys.hexversion >= 0x03000000: + script = os.fdopen(scripthandle, 'w', + encoding=Bcfg2.Options.setup.encoding) + else: + script = os.fdopen(scripthandle, 'w') try: script.write("#!%s\n" % (probe.attrib.get('interpreter', '/bin/sh'))) diff --git a/src/lib/Bcfg2/Server/Plugins/Probes.py b/src/lib/Bcfg2/Server/Plugins/Probes.py index 010a69dd1..560546c70 100644 --- a/src/lib/Bcfg2/Server/Plugins/Probes.py +++ b/src/lib/Bcfg2/Server/Plugins/Probes.py @@ -238,9 +238,14 @@ class XMLProbeStore(ProbeStore): lxml.etree.SubElement(top, 'Client', name=client, timestamp=str(int(probedata.timestamp))) for probe in sorted(probedata): - lxml.etree.SubElement( - ctag, 'Probe', name=probe, - value=self._datacache[client][probe]) + try: + lxml.etree.SubElement( + ctag, 'Probe', name=probe, + value=self._datacache[client][probe].decode('utf-8')) + except AttributeError: + lxml.etree.SubElement( + ctag, 'Probe', name=probe, + value=self._datacache[client][probe]) for group in sorted(self._groupcache[client]): lxml.etree.SubElement(ctag, "Group", name=group) try: |