Michael Foord wrote:
Dino Viehland wrote:
You can just expose a DLR Scope object directly - which is what
IronPython does for modules internally.
Bah, damn - I meant to try that before posting and then forgot!
Hmmm... although from inside Python code run in the engine you can still
tell that it is a ScriptScope and not a 'real' module. I'm pretty sure
that internally IronPython *is* using PythonModule.
Not that it is a problem, publishing ScriptScopes works fine - it would
be *nice* to have access to the same API that IP uses for publishing
modules, but not essential.
Michael
Thanks
Michael
The name PythonModule is unfortunately a little confusing - it's
actually a PythonScopeExtension where we can store additional data
about the Scope (e.g. if import clr has occurred). We'll lazily
create the PythonModule and associate it with the Scope if we need it.
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Michael Foord
Sent: Tuesday, July 08, 2008 1:43 PM
To: Discussion of IronPython
Subject: [IronPython] Publishing a Module when Embedding
Hello all,
I've been looking at writing some examples of publishing a module in an
embedded scenario.
The straightforward example (which also appears in the DLR hosting spec)
is to just publish an *object*:
ScriptRuntime _runtime = ScriptRuntime.Create();
_runtime.Globals.SetVariable("ModuleName", someObject);
What I *really* want to do is to create a PythonModule from a dictionary
of objects and publish that into the runtime globals.
Creating a populated PythonModule seems to be problematic. The useful
overload of PythonCOntext.CreateModule (that takes 4 arguments) isn't
public (internal) - I can't see how to populate the module once I've
created one.
There is also an internal constructor to PythonModule that takes a
Scope. These seem to be the routes taken by the importer.
You can't publish a dictionary (well - except as a dictionary).
How can I create and populate a PythonModule from C#?
Michael Foord
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/
http://www.trypython.org/
http://www.ironpython.info/
http://www.theotherdelia.co.uk/
http://www.resolverhacks.net/
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/
http://www.trypython.org/
http://www.ironpython.info/
http://www.theotherdelia.co.uk/
http://www.resolverhacks.net/
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com