From ce9b7aedbe9cfe8de4e576dbe125c5a7161f5f5d Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Thu, 16 Aug 2012 07:25:07 -0400 Subject: merged cheetah encoding fixes from maint --- src/lib/Bcfg2/Server/Plugins/Cfg/CfgCheetahGenerator.py | 3 ++- src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/Bcfg2/Server/Plugins/Cfg/CfgCheetahGenerator.py b/src/lib/Bcfg2/Server/Plugins/Cfg/CfgCheetahGenerator.py index e74b77e83..f02461673 100644 --- a/src/lib/Bcfg2/Server/Plugins/Cfg/CfgCheetahGenerator.py +++ b/src/lib/Bcfg2/Server/Plugins/Cfg/CfgCheetahGenerator.py @@ -24,7 +24,8 @@ class CfgCheetahGenerator(CfgGenerator): raise Bcfg2.Server.Plugin.PluginExecutionError(msg) def get_data(self, entry, metadata): - template = Template(self.data, compilerSettings=self.settings) + template = Template(self.data.decode(self.encoding), + compilerSettings=self.settings) template.metadata = metadata template.path = entry.get('realname', entry.get('name')) template.source_path = self.name diff --git a/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py b/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py index aef239fce..7513632f4 100644 --- a/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py +++ b/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py @@ -9,7 +9,7 @@ import logging import lxml.etree import Bcfg2.Options import Bcfg2.Server.Plugin -from Bcfg2.Bcfg2Py3k import u_str, b64encode +from Bcfg2.Bcfg2Py3k import u_str, unicode, b64encode import Bcfg2.Server.Lint logger = logging.getLogger(__name__) @@ -292,7 +292,8 @@ class CfgEntrySet(Bcfg2.Server.Plugin.EntrySet): data = b64encode(data) else: try: - data = u_str(data, self.encoding) + if type(data) != unicode: + data = u_str(data, self.encoding) except UnicodeDecodeError: msg = "Failed to decode %s: %s" % (entry.get('name'), sys.exc_info()[1]) -- cgit v1.2.3-1-g7c22