diff options
author | Sol Jerome <sol.jerome@gmail.com> | 2013-03-29 10:47:53 -0500 |
---|---|---|
committer | Sol Jerome <sol.jerome@gmail.com> | 2013-03-29 10:47:53 -0500 |
commit | 20d1a9597bb039d693978c2b02e62e65826a5436 (patch) | |
tree | 6c2e58a63aba7c1a51ccab98f7340fd908238743 /src/lib/Bcfg2/Client/Client.py | |
parent | 644da402180bfccfa3c033c88dabed6d8dfff6dd (diff) | |
download | bcfg2-20d1a9597bb039d693978c2b02e62e65826a5436.tar.gz bcfg2-20d1a9597bb039d693978c2b02e62e65826a5436.tar.bz2 bcfg2-20d1a9597bb039d693978c2b02e62e65826a5436.zip |
Probes: Handle unicode probes
There is no good way of sending unicode probes to older clients which do
not have support for them. This change will cause unicode probes to be
skipped for unsupported clients and handled properly for new clients.
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'src/lib/Bcfg2/Client/Client.py')
-rw-r--r-- | src/lib/Bcfg2/Client/Client.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/Bcfg2/Client/Client.py b/src/lib/Bcfg2/Client/Client.py index 5633764a8..613e10e75 100644 --- a/src/lib/Bcfg2/Client/Client.py +++ b/src/lib/Bcfg2/Client/Client.py @@ -91,7 +91,7 @@ class Client(object): try: script.write("#!%s\n" % (probe.attrib.get('interpreter', '/bin/sh'))) - script.write(probe.text) + script.write(probe.text.encode('utf-8')) script.close() os.chmod(scriptname, stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH | @@ -105,7 +105,7 @@ class Client(object): self._probe_failure(name, "Return value %s" % rv) self.logger.info("Probe %s has result:" % name) self.logger.info(rv.stdout) - ret.text = rv.stdout + ret.text = rv.stdout.decode('utf-8') finally: os.unlink(scriptname) except SystemExit: @@ -167,7 +167,7 @@ class Client(object): self.proxy.RecvProbeData( Bcfg2.Client.XML.tostring( probedata, - xml_declaration=False).decode('UTF-8')) + xml_declaration=False).decode('utf-8')) except Bcfg2.Proxy.ProxyError: err = sys.exc_info()[1] self.fatal_error("Failed to upload probe data: %s" % err) @@ -229,7 +229,7 @@ class Client(object): self.fatal_error("Failed to get decision list: %s" % err) try: - rawconfig = self.proxy.GetConfig().encode('UTF-8') + rawconfig = self.proxy.GetConfig().encode('utf-8') except Bcfg2.Proxy.ProxyError: err = sys.exc_info()[1] self.fatal_error("Failed to download configuration from " @@ -324,7 +324,7 @@ class Client(object): self.proxy.RecvStats( Bcfg2.Client.XML.tostring( feedback, - xml_declaration=False).decode('UTF-8')) + xml_declaration=False).decode('utf-8')) except Bcfg2.Proxy.ProxyError: err = sys.exc_info()[1] self.logger.error("Failed to upload configuration statistics: " |