Commit 178f4280 authored by Jeremie Dimino's avatar Jeremie Dimino

[bcfg2/plugins/python] plus besoin d'encoder en base64

maintenant l'utf-8 ça marche

darcs-hash:20081209223716-af139-f9898825dbbd93a04af46c7e5fa672d6be084cc7.gz
parent 8ee7ed82
......@@ -135,8 +135,7 @@ class Python(Bcfg2.Server.Plugin.GeneratorPlugin):
env["dump"] = lambda incfile: dump(env, incfile)
env["info"] = { 'owner': 'root',
'group': 'root',
'perms': 0644,
'encoding': 'base64' }
'perms': 0644 }
env.included = set([])
try:
include(env, "common")
......@@ -145,14 +144,20 @@ class Python(Bcfg2.Server.Plugin.GeneratorPlugin):
log_traceback(fname, 'exec', e)
raise Bcfg2.Server.Plugin.PluginExecutionError
info = env["info"]
if info.get('encoding', 'base64') == 'base64':
if info.get('encoding', '') == 'base64':
text = binascii.b2a_base64(text)
entry.text = text
# lxml n'accepte que de l'ascii ou de l'unicode
try:
entry.text = text.decode("UTF-8")
except:
# solution de fallback
entry.text = text.decode("ISO8859-15")
debug(entry.text)
entry.attrib['owner'] = info.get('owner', 'root')
entry.attrib['group'] = info.get('group', 'root')
entry.attrib['perms'] = oct(info.get('perms', 0644))
entry.attrib['encoding'] = info.get('encoding', 'base64')
if 'encoding' in info:
entry.attrib['encoding'] = info['encoding']
def HandleEvent(self, event):
'''Traitement des événements de FAM'''
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment