Commit 397032aa authored by Guido van Rossum's avatar Guido van Rossum

Don't use "exec" in find_class(). It's slow, unnecessary, and (as AMK

points out) it doesn't work in JPython Applets.
parent 605ebddb
......@@ -661,15 +661,14 @@ class Unpickler:
dispatch[GLOBAL] = load_global
def find_class(self, module, name):
env = {}
try:
exec 'from %s import %s' % (module, name) in env
except ImportError:
__import__(module)
mod = sys.modules[module]
klass = getattr(mod, name)
except (ImportError, KeyError, AttributeError):
raise SystemError, \
"Failed to import class %s from module %s" % \
(name, module)
klass = env[name]
return klass
def load_reduce(self):
......
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