Commit f4072720 authored by Jeremie Dimino's avatar Jeremie Dimino

ajout de traceback

darcs-hash:20080209010131-af139-e1cc9fd883d67c891dac9b8d602bff10aa35bf55.gz
parent 2b9c65a1
......@@ -115,7 +115,7 @@ class Python(Bcfg2.Server.Plugin.Plugin):
def BuildEntry(self, entry, metadata):
'''Construit le fichier'''
code = self.codes[entry.get('name')]
code = self.codes[entry.get('name')]
fname = entry.get('realname', entry.get('name'))
debug("building config file: %s" % fname, 'blue')
env = pygen.Environment()
......@@ -126,14 +126,23 @@ class Python(Bcfg2.Server.Plugin.Plugin):
env["info"] = { 'owner': 'root',
'group': 'root',
'perms': 0644 }
env.included = set([])
env.included = set([])
try:
include(env, "common")
entry.text = pygen.generate(code, env)
entry.text = pygen.generate(code, env)
debug(entry.text)
except Exception, e:
logger.error('Python exec error: %s: %s' % (str(e.__class__).split('.', 2)[1], str(e)))
raise Bcfg2.Server.Plugin.PluginExecutionError
import traceback
from cStringIO import StringIO
s = StringIO()
sys.stderr = s
traceback.print_exc()
sys.stderr = sys.__stderr__
traceback = s.getvalue()
logger.error('Python exec error: %s: %s' % (str(e.__class__).split('.', 2)[1], str(e)))
for line in traceback.splitlines():
logger.error('Python exec error: -> %s' % line)
raise Bcfg2.Server.Plugin.PluginExecutionError
entry.attrib['owner'] = env["info"]['owner']
entry.attrib['group'] = env["info"]['group']
entry.attrib['perms'] = oct(env["info"]['perms'])
......
......@@ -25,7 +25,7 @@ fichier de configuration à partir d'un script python'''
__all__ = [ "Environment", "compileSource", "generate", "load" ]
import re, marshal, os
import re, marshal, os, sys
from cStringIO import StringIO
# Pour l'arrêt d'un script
......@@ -180,8 +180,6 @@ def load(fname, cfname=None):
return code
if __name__ == "__main__":
import sys
result = generate(load(sys.argv[1]))
print "resultat:"
......
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