summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Plugins/TGenshi.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Server/Plugins/TGenshi.py')
-rw-r--r--src/lib/Server/Plugins/TGenshi.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/Server/Plugins/TGenshi.py b/src/lib/Server/Plugins/TGenshi.py
index 4bc8338c9..29e6d7307 100644
--- a/src/lib/Server/Plugins/TGenshi.py
+++ b/src/lib/Server/Plugins/TGenshi.py
@@ -1,6 +1,7 @@
"""This module implements a templating generator based on Genshi."""
__revision__ = '$Revision$'
+import binascii
import logging
import Bcfg2.Server.Plugin
@@ -90,7 +91,11 @@ class TemplateFile:
if type(textdata) == unicode:
entry.text = textdata
else:
- entry.text = unicode(textdata, self.encoding)
+ if entry.get('encoding') == 'base64':
+ # take care of case where file needs base64 encoding
+ entry.text = binascii.b2a_base64(textdata)
+ else:
+ entry.text = unicode(textdata, self.encoding)
else:
try:
xmldata = stream.render('xml', strip_whitespace=False)