[IronPython] Can I pre-add namespaces?

Dino Viehland dinov at microsoft.com
Sat Oct 11 01:44:37 CEST 2008


UseFile is about just running a piece of code that lives somewhere the language can find (on sys.path for Python) and returning the new ScriptScope that it was executed in - it doesn't do anything with namespaces so it won't help here.  It's supposed to be an easy way to just run some one-off code.

From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Leo Carbajal
Sent: Friday, October 10, 2008 2:50 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Can I pre-add namespaces?

Would it be possible to use scriptSource.IncludeFile(path) instead to get the same effect?

I was perusing the hostingAPI and the Runtime has a whole paragraph for UseFile but when you look at the class declaration (again on the hostingAPI doc) it's not listed there, so I'm not sure if that's just a leftover ghost - I can't confirm it from work. Mostly I'm curious about the first, as thats how I would have approached it.
On Fri, Oct 10, 2008 at 3:38 PM, Marty Nelson <Marty.Nelson at symyx.com<mailto:Marty.Nelson at symyx.com>> wrote:

Maybe it would it be easier just to append it to the text prior to execution.  It didn't appear to have a side effect.  Any performance considerations?



ScriptSource scriptSource = engine.CreateScriptSourceFromString(

"import System\r\n" + script, SourceCodeKind.Statements);

scriptSource.Execute(scope);





________________________________

From: users-bounces at lists.ironpython.com<mailto:users-bounces at lists.ironpython.com> [mailto:users-bounces at lists.ironpython.com<mailto:users-bounces at lists.ironpython.com>] On Behalf Of Dino Viehland
Sent: Friday, October 10, 2008 1:12 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Can I pre-add namespaces?



I think if you're not replacing Globals on the script runtime you can fetch the namespace from the ScriptRuntime.Globals scope.



If that doesn't work for some reason you can always new up a TopNamespaceTracker, load assemblies into it, and get the namespace trackers from it.  You'll need to get the the ScriptDomainManager object which you can fetch w/ the HostingHelpers.GetDomainManager function.



From: users-bounces at lists.ironpython.com<mailto:users-bounces at lists.ironpython.com> [mailto:users-bounces at lists.ironpython.com<mailto:users-bounces at lists.ironpython.com>] On Behalf Of Marty Nelson
Sent: Friday, October 10, 2008 1:02 PM
To: users at lists.ironpython.com<mailto:users at lists.ironpython.com>
Subject: [IronPython] Can I pre-add namespaces?



I know I can load assemblies into the script runtime, but how can I add the imports into the scope programmatically?  I'm trying to avoid forcing people to write things like "imports System" for scripts.



Microsoft.Scripting.Actions.NamespaceTracker seems to be involved, but it isn't there till after the scope executes for the first time and it has no public contructor.



Thanks,



- Marty

=======
Notice: This e-mail message, together with any attachments, contains
information of Symyx Technologies, Inc. or any of its affiliates or
subsidiaries that may be confidential, proprietary, copyrighted,
privileged and/or protected work product, and is meant solely for
the intended recipient. If you are not the intended recipient, and
have received this message in error, please contact the sender
immediately, permanently delete the original and any copies of this
email and any attachments thereto.




_______________________________________________
Users mailing list
Users at lists.ironpython.com<mailto:Users at lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20081010/c74bda4b/attachment.html>


More information about the Ironpython-users mailing list