I've updated logging as discussed in this issue, except for the removal of the two calls to eval() in logging.config. I propose to resolve that as follows:
1. Add the Evaluator implemented in the Gist I linked to to ast.py.
2. Expose a function 'ast.lookup_eval(source, context, allow_import)' which basically just does a
return Evaluator(context, allow_import).evaluate(source, '<lookup_eval>')
3. Add docs and tests to ast.rst and test_ast.py.
4. Update logging.config to call ast.lookup_eval() instead of eval().
Please comment if you see any problems with this, otherwise I will go
ahead and implement this change within the next week or so. |