[IronPython] Evaluating python from within the context of a class

Michael Stephens falcon at uwyo.edu
Fri Jun 27 10:05:01 PDT 2008


Is there anyway cool way you know of to generate the context at runtime
def Evaluate(_self_,code)
 exec code in GenerateContext(a)


Michael Stephens

Electrical Engineering Graduate Student
University of Wyoming
falcon at uwyo.edu or 89iroc at gmail.com

On Fri, Jun 27, 2008 at 11:02 AM, Michael Foord <fuzzyman at voidspace.org.uk>
wrote:

> Michael Stephens wrote:
>
>> I guess I can rebind locals and functions into my own dictionary.. I was
>> just hoping to avoid that with some snazzy python.
>>
>>  I think exec'ing in a custom context is *more* snazzy Python. :-p
>
> Michael
>
>  Michael Stephens
>>
>> Electrical Engineering Graduate Student
>> University of Wyoming
>> falcon at uwyo.edu <mailto:falcon at uwyo.edu> or 89iroc at gmail.com <mailto:
>> 89iroc at gmail.com>
>>
>> On Fri, Jun 27, 2008 at 10:58 AM, Michael Foord <
>> fuzzyman at voidspace.org.uk <mailto:fuzzyman at voidspace.org.uk>> wrote:
>>
>>    Michael Stephens wrote:
>>
>>        Closer.. but self.__dict__ is empty and cannot find test.  We
>>        are trying to wire up property expressions in our system.   So
>>        control.Enable="GetEnabled()" rather than what we have now
>>        which is control.Enable="currentform.GetEnabled()"
>>
>>        I thought I could eval the RHS inside the class to get what i
>>        wanted but alas no dice.
>>
>>
>>    Well, you could do it in RT.__dict__ - but you would have to make
>>    test a staticmethod.
>>
>>    Why not maintain an explicit dictionary as a context?
>>
>>    Michael
>>
>>        Michael Stephens
>>
>>        Electrical Engineering Graduate Student
>>        University of Wyoming
>>        falcon at uwyo.edu <mailto:falcon at uwyo.edu>
>>        <mailto:falcon at uwyo.edu <mailto:falcon at uwyo.edu>> or
>>        89iroc at gmail.com <mailto:89iroc at gmail.com>
>>        <mailto:89iroc at gmail.com <mailto:89iroc at gmail.com>>
>>
>>        On Fri, Jun 27, 2008 at 10:46 AM, Michael Foord
>>        <fuzzyman at voidspace.org.uk <mailto:fuzzyman at voidspace.org.uk>
>>        <mailto:fuzzyman at voidspace.org.uk
>>        <mailto:fuzzyman at voidspace.org.uk>>> wrote:
>>
>>           Michael Stephens wrote:
>>
>>               I want to be able to execute arbitrary expressions but have
>>               their context be within my class.  The end result is
>>        that RT
>>               test should be printed and not global test
>>
>>               def test():
>>                print "global test"
>>
>>               class RT:
>>                def test(_self_):
>>                print 'RT test'
>>                def Evaluate(_self_,code):
>>                eval(code)
>>
>>
>>           exec code in self.__dict__
>>
>>           Might work.
>>
>>           Michael
>>
>>
>>               test()
>>               a.test()
>>               a=RT()
>>               a.Evaluate('test()')
>>
>>               Michael Stephens
>>
>>               Electrical Engineering Graduate Student
>>               University of Wyoming
>>               falcon at uwyo.edu <mailto:falcon at uwyo.edu>
>>        <mailto:falcon at uwyo.edu <mailto:falcon at uwyo.edu>>
>>               <mailto:falcon at uwyo.edu <mailto:falcon at uwyo.edu>
>>        <mailto:falcon at uwyo.edu <mailto:falcon at uwyo.edu>>> or
>>
>>               89iroc at gmail.com <mailto:89iroc at gmail.com>
>>        <mailto:89iroc at gmail.com <mailto:89iroc at gmail.com>>
>>               <mailto:89iroc at gmail.com <mailto:89iroc at gmail.com>
>>        <mailto:89iroc at gmail.com <mailto:89iroc at gmail.com>>>
>>
>> ------------------------------------------------------------------------
>>
>>               _______________________________________________
>>               Users mailing list
>>               Users at lists.ironpython.com
>>        <mailto:Users at lists.ironpython.com>
>>        <mailto:Users at lists.ironpython.com
>>        <mailto:Users at lists.ironpython.com>>
>>
>>
>> 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
>>           Users at lists.ironpython.com
>>        <mailto:Users at lists.ironpython.com>
>>        <mailto:Users at lists.ironpython.com
>>        <mailto:Users at lists.ironpython.com>>
>>
>>           http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>>
>>  ------------------------------------------------------------------------
>>
>>        _______________________________________________
>>        Users mailing list
>>        Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>>        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
>>    Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>>    http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.ironpython.com
>> 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
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ironpython.com/pipermail/users-ironpython.com/attachments/20080627/172903b4/attachment-0001.htm>


More information about the Users mailing list