Re: [IronPython] Get a string from JavaScript to IronPython

2009-01-06 Thread Cenovsky, Lukas
 Unfortunately we can't apply attributes to Python classes. I 
 get round 
 this particular problem by creating stub classes in C# and inheriting 
 from them in Python. See:
 
 http://www.voidspace.org.uk/ironpython/silverlight/scriptable.shtml

Is there a CodePlex issue to resolve this?

--
-- Lukas

___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


Re: [IronPython] [wingide-users] Using Wing IDE with IronPython - autocomplete for .NET objects (PI file generator)

2009-04-29 Thread Cenovsky, Lukas
Would be nice to have something similar for vim :-)

--
-- Lukas
 

 -Original Message-
 From: users-boun...@lists.ironpython.com 
 [mailto:users-boun...@lists.ironpython.com] On Behalf Of Michael Foord
 Sent: Wednesday, April 29, 2009 4:45 PM
 To: Wing Users
 Cc: Discussion of IronPython
 Subject: Re: [IronPython] [wingide-users] Using Wing IDE with 
 IronPython - autocomplete for .NET objects (PI file generator)
 
 Hello all,
 
 Attached is an updated script for generating PI files to provide 
 autocomplete on standard .NET objects.
 
 It now handles all the standard .NET member types (including static 
 properties, enumeration fields, indexers, events and so on).
 
 It also recurses into sub-namespaces generating new pi-files 
 for all of 
 them.
 
 This script is hardcoded to add references to, and then generate PI 
 files for:
 
 System
 System.Data
 System.Drawing
 System.Windows.Forms
 
 It generates 90 pi files (90 namespaces) taking up 24mb! The 
 autocomplete it provides is awesome though. :-)
 
 I had to do a fair bit of violence to the standard 
 generate_pi.py script 
 so I *doubt* it is desirable to merge it back in. Obviously 
 very happy 
 for this to be included with Wing if you want, or merged if 
 you think it 
 is worth it. Is it ok for me to offer this for download from 
 my site? If 
 I make further changes I will email this list.
 
 The big thing to add is the return type for methods.
 
 Is it possible to specify return types for properties? (Currently any 
 attribute without an obvious parallel in Python I have turned into a 
 property in the PI files).
 
 The only real caveat with the current script (that I am aware 
 of - bug 
 reports and contributions welcomed) is that None is a common 
 enumeration 
 field member. This is invalid syntax in Python, so I rename 
 these to None_.
 
 There are quite a few minor changes sprinkled through the code - plus 
 the __main__ part of the script is very different. I have 
 tried to mark 
 changes with a # CHANGE: comment, but it should be relatively 
 amenable 
 to diffing anyway...
 
 For reference I was using IronPython 2.0.1, with .NET 3.5 
 installed and 
 Wing 3.2beta 1.
 
 All the best,
 
 Michael Foord
 
 Michael Foord wrote:
  Hello all,
 
  I've created a modified version of the 'generate_pi.py' which 
  generates the interface files for .NET libraries. It is attached.
 
  At the moment it generates PI files for the following assemblies / 
  namespaces (hardwired at the bottom of the code):
 
 System
 System.Data
 System.Drawing
 System.Windows.Forms
 
  To run it, create a new directory and add this to the 
 'Interface File 
  Path' (File menu - Preferences - Source Analysis - Advanced - 
  Insert).
 
  Then from the command line switch to this directory (if you are on 
  Vista you will need to run cmd with admin privileges due to 
 a defect 
  explained below). Execute the command:
 
 ipy generate_pi_for_net.py
 
  This generates the pi files. It doesn't work *as well* on 64 bit 
  windows because the .NET XML help files (or whatever they 
 are called) 
  are in a different location so the docstrings are not 
 always available 
  - which is why I am not just distributing the pi files yet.
 
  The script doesn't yet understand static properties on 
 classes - so it 
  actually *fetches* static properties rather than looking at the 
  descriptor (which is available in the class __dict__ so 
 should be easy 
  to fix). This is what causes inadvertent registry lookups etc and 
  therefore requires admin privileges.
 
  It doesn't yet understand multiple overloads. This may require a 
  change to Wing or may not matter.
 
  It isn't yet able to do anything with the information about return 
  types - which would allow Wing to know the type of objects 
 returned by 
  methods. This may be easy to add?
 
  It is late so I am going to bed. At some point I will explain the 
  simple changes I  had to make to the standard generate_pi.py script 
  (although they are mostly straightforward). I will also do further 
  work on it as it will be very useful to me...
 
  All the best,
 
  Michael
 
  
 --
 --
 
  _
  Wing IDE users list
  http://wingware.com/lists/wingide
 
 
 -- 
 http://www.ironpythoninaction.com/
 
 

___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


Re: [IronPython] Crash with Action and reflection question

2009-04-30 Thread Cenovsky, Lukas
 -Original Message-
 From: users-boun...@lists.ironpython.com 
 [mailto:users-boun...@lists.ironpython.com] On Behalf Of Curt 
 Hagenlocher
 Sent: Thursday, April 30, 2009 3:19 PM
 To: Discussion of IronPython
 Subject: Re: [IronPython] Crash with Action and reflection question
 
  Another way would be to get the MethodInfo. For an 
 arbitrary .NET type from
  inside IronPython how do I get a System.Type instance 
 representing the type?
 
 You mean like this?
 from System.Collections.Generic import List
 runtimeType = clr.GetClrType(List)

Cool - I need it too :-)

--
-- Lukas

___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


[IronPython] Execfile in IronPython 2.0 slower then 1.1

2009-05-14 Thread Cenovsky, Lukas
I was playing yesterday with something and found that execfile is about
10 times slower in Ironpython 2.0 then in 1.1.
Does anyone have an idea why?

Here is the snippet:

from time import time
f = open('test.txt', 'w')
f.write('res = []\n')
f.write(res.append({'1': 'one', '2': 'two'})\n*1)
f.close()
t = time()
execfile('test.txt')
print 'Execfile took:', time() - t

Ironpython 1.1:
Execfile took: 5.37503814697

Ironpython 2.0:
Execfile took: 50.3440628052

PS: I know the example is stupid - I'm just wondering why such
difference?

--
-- Lukas

___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com