base: Make the Python module loader PEP302 compliant
authorAndreas Sandberg <andreas@sandberg.pp.se>
Mon, 3 Jun 2013 11:51:03 +0000 (13:51 +0200)
committerAndreas Sandberg <andreas@sandberg.pp.se>
Mon, 3 Jun 2013 11:51:03 +0000 (13:51 +0200)
commit63dae287035c9670c0622eefc9a19e0dc05c299f
tree474255aeb1d631a253cdeb548d0d0d74d43aa474
parentd989a3ad504b24d5b553617440ec14da30a8c660
base: Make the Python module loader PEP302 compliant

The custom Python loader didn't comply with PEP302 for two reasons:

 * Previously, we would overwrite old modules on name
   conflicts. PEP302 explicitly states that: "If there is an existing
   module object named 'fullname' in sys.modules, the loader must use
   that existing module".

 * The "__package__" attribute wasn't set. PEP302: "The __package__
   attribute must be set."

This changeset addresses both of these issues.
src/python/importer.py