import hooks
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Wed Apr 16 19:17:40 EDT 2008
En Wed, 16 Apr 2008 09:04:36 -0300, Patrick Stinson
<patrickkidd.lists at gmail.com> escribió:
> I am defining a simple finder/loader object and adding it to
> sys.meta_path
> like this:
>
> PyRun_SimpleString("import sys; import ousiainternal; sys.meta_path =
> [ousiainternal.OusiaImporter]");
You should append to the existing meta_path, not replace it, erasing any
previous content.
And it must be an *instance* of your importer, not the type itself.
Note that you're polluting the __main__ module namespace by using
PyRun_SimpleString; I'd use API calls like PySys_GetObject("meta_path")
and PyList_Append (PEP 302 guarantees it is a list).
> "sys.meta_path.append(Importer)\n";
Here you append to sys.meta_path, but fail to create the instance first.
> PyRun_SimpleString(importer_source);
You should check the return value; I bet you got a -1 (failure).
--
Gabriel Genellina
More information about the Python-list
mailing list