summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2013-04-10 10:29:35 -0500
committerSol Jerome <sol.jerome@gmail.com>2013-04-10 10:29:35 -0500
commitc313bf1d75ae4fa885cd099f299177d84dd8a95d (patch)
tree151ec1345a0527a0008d583c586ea0fea9f74ec8 /src/lib/Bcfg2/Server/Plugins
parent2cb245f4ebf5dbd37f11f02a7d1598b050799515 (diff)
downloadbcfg2-c313bf1d75ae4fa885cd099f299177d84dd8a95d.tar.gz
bcfg2-c313bf1d75ae4fa885cd099f299177d84dd8a95d.tar.bz2
bcfg2-c313bf1d75ae4fa885cd099f299177d84dd8a95d.zip
PY3K: Fix client/server to work with python 3
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Probes.py16
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Reporting.py2
3 files changed, 15 insertions, 5 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py b/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py
index 926172e57..ffe93c25b 100644
--- a/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py
+++ b/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py
@@ -599,6 +599,8 @@ class CfgEntrySet(Bcfg2.Server.Plugin.EntrySet,
else:
try:
if not isinstance(data, unicode):
+ if not isinstance(data, str):
+ data = data.decode('utf-8')
data = u_str(data, self.encoding)
except UnicodeDecodeError:
msg = "Failed to decode %s: %s" % (entry.get('name'),
diff --git a/src/lib/Bcfg2/Server/Plugins/Probes.py b/src/lib/Bcfg2/Server/Plugins/Probes.py
index 55e5ddc47..201b4ec70 100644
--- a/src/lib/Bcfg2/Server/Plugins/Probes.py
+++ b/src/lib/Bcfg2/Server/Plugins/Probes.py
@@ -155,7 +155,10 @@ class ProbeSet(Bcfg2.Server.Plugin.EntrySet):
probe.set('source', self.plugin_name)
if (metadata.version_info and
metadata.version_info > (1, 3, 1, '', 0)):
- probe.text = entry.data.decode('utf-8')
+ try:
+ probe.text = entry.data.decode('utf-8')
+ except AttributeError:
+ probe.text = entry.data
else:
try:
probe.text = entry.data
@@ -219,9 +222,14 @@ class Probes(Bcfg2.Server.Plugin.Probing,
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=str(self.probedata[client][probe]).decode('utf-8'))
+ try:
+ lxml.etree.SubElement(
+ ctag, 'Probe', name=probe,
+ value=str(self.probedata[client][probe]).decode('utf-8'))
+ except AttributeError:
+ lxml.etree.SubElement(
+ ctag, 'Probe', name=probe,
+ value=str(self.probedata[client][probe]))
for group in sorted(self.cgroups[client]):
lxml.etree.SubElement(ctag, "Group", name=group)
try:
diff --git a/src/lib/Bcfg2/Server/Plugins/Reporting.py b/src/lib/Bcfg2/Server/Plugins/Reporting.py
index 3bd6fd14f..3354763d4 100644
--- a/src/lib/Bcfg2/Server/Plugins/Reporting.py
+++ b/src/lib/Bcfg2/Server/Plugins/Reporting.py
@@ -96,7 +96,7 @@ class Reporting(Statistics, Threaded, PullSource, Debuggable):
client.hostname, cdata,
lxml.etree.tostring(
stats,
- xml_declaration=False).decode('UTF-8'))
+ xml_declaration=False))
self.debug_log("%s: Queued statistics data for %s" %
(self.__class__.__name__, client.hostname))
return