From fff85e82d45453045b21a99a76ae33802f5c9550 Mon Sep 17 00:00:00 2001 From: Malthe Borch Date: Wed, 10 Aug 2011 11:14:52 +0000 Subject: [PATCH] Guard ``sys.modules`` against import time side effects using ``ProxyFactory``. --- CHANGES.txt | 5 +++++ src/z3c/pt/pagetemplate.py | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 186a41c..a085b61 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,11 @@ Changelog ========= +In next release ... + +- Guard ``sys.modules`` (mapped to the builtin variable "modules") + against import-time side effects using ``ProxyFactory``. + 2.1 (2011-07-28) ~~~~~~~~~~~~~~~~ diff --git a/src/z3c/pt/pagetemplate.py b/src/z3c/pt/pagetemplate.py index 517c3bb..d2ce102 100644 --- a/src/z3c/pt/pagetemplate.py +++ b/src/z3c/pt/pagetemplate.py @@ -2,6 +2,7 @@ import sys from zope import i18n +from zope.security.proxy import ProxyFactory from chameleon.i18n import fast_translate from chameleon.zpt import template @@ -37,7 +38,7 @@ def __len__(self): def __repr__(self): return "{...} (%d entries)" % len(self) -sys_modules = OpaqueDict(sys.modules) +sys_modules = ProxyFactory(OpaqueDict(sys.modules)) class DummyRegistry(object):