summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2013-09-01 13:32:01 -0500
committerSol Jerome <sol.jerome@gmail.com>2013-09-01 13:32:01 -0500
commit6b637011e1be7ff8cd67c208df8ae9ab28f11c4c (patch)
tree7ae29d903e3df8663be2fcd3239f198fa14b6c18 /src/lib/Bcfg2
parent435392d12e988f5952ee3a8e2d1c2ee50df7b99b (diff)
downloadbcfg2-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/Bcfg2')
-rw-r--r--src/lib/Bcfg2/Client/__init__.py6
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Probes.py11
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: