<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-4123</id>
	<title>Nabble - jython-users</title>
	<updated>2009-11-09T07:43:51Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/jython-users-f4123.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/jython-users-f4123.html" />
	<subtitle type="html">Mailing list archive for jython-users</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26268594</id>
	<title>Re: how to catch dispose events of swing widgets</title>
	<published>2009-11-09T07:43:51Z</published>
	<updated>2009-11-09T07:43:51Z</updated>
	<author>
		<name>Alex Grönholm-3</name>
	</author>
	<content type="html">Fabrizio Pollastri kirjoitti:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Alex Grönholm wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Fabrizio Pollastri kirjoitti:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Alex Grönholm wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Fabrizio Pollastri kirjoitti:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; when the gui of my application is closed or when the application 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; destroys (intentionally) part of the gui, I need to catch this event 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; for each involved widget. Any suggestion is welcome. Thanks in advance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; What for? Also, I don't think any dispose events are sent, but you 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; can catch events generated from removing those widgets from their 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; parent container.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Would that be good enough?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I have tried this:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; widget.addContainerListener(ContainerListener(my_destroy_manager_function)) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ....
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; class ContainerListener(awt.event.ContainerListener):
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;quot;Call my widget destroy handler&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; def __init__(self,my_destroy_manager):
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; self.my_destroy_manager = my_destroy_manager
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; def componentRemoved(self,*args):
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; self.my_destroy_manager()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; But nor the closing by mouse clicking, nor the widget dispose method 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; trigger my_destroy_manager function.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Because in neither case is your component actually removed from its 
&lt;br&gt;&amp;gt;&amp;gt; parent container. Please explain why you need to do this in the first 
&lt;br&gt;&amp;gt;&amp;gt; place so we may help you.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am porting AVC (&lt;a href=&quot;http://avc.inrim.it&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://avc.inrim.it&lt;/a&gt;) to java swing using jython.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In brief, AVC is a python module that connects values displayed by 
&lt;br&gt;&amp;gt; widgets to values held by application variables. The connection is done 
&lt;br&gt;&amp;gt; automatically matching names assigned to widgets with variable names.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;Sounds just like what I've been doing with the binding module in 
&lt;br&gt;jython-swingutils (&lt;a href=&quot;http://bitbucket.org/agronholm/jython-swingutils/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bitbucket.org/agronholm/jython-swingutils/&lt;/a&gt;).
&lt;br&gt;Why don't you take a look and see if it's anything like AVC?
&lt;br&gt;&amp;gt; When a widget controlled by AVC is destroyed, AVC needs to remove it 
&lt;br&gt;&amp;gt; from its internal data structures. So I am looking for the right signal 
&lt;br&gt;&amp;gt; to do this when I close the main window or the program delete same 
&lt;br&gt;&amp;gt; widgets from the gui.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;It is relatively rare for widgets to actually get removed from their 
&lt;br&gt;parent container in Swing applications. Are these internal data 
&lt;br&gt;structures persistent? If not, I see no point in removing the variables 
&lt;br&gt;from them on application exit. If they are, you could just listen for 
&lt;br&gt;the parent window's windowClosed event.
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268594&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268594&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-to-catch-dispose-events-of-swing-widgets-tp26266959p26268594.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26268133</id>
	<title>Re: how to catch dispose events of swing widgets</title>
	<published>2009-11-09T07:18:44Z</published>
	<updated>2009-11-09T07:18:44Z</updated>
	<author>
		<name>Fabrizio Pollastri-3</name>
	</author>
	<content type="html">Alex Grönholm wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Fabrizio Pollastri kirjoitti:
&lt;br&gt;&amp;gt;&amp;gt; Alex Grönholm wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Fabrizio Pollastri kirjoitti:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; when the gui of my application is closed or when the application 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; destroys (intentionally) part of the gui, I need to catch this event 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; for each involved widget. Any suggestion is welcome. Thanks in advance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; What for? Also, I don't think any dispose events are sent, but you 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; can catch events generated from removing those widgets from their 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; parent container.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Would that be good enough?
&lt;br&gt;&amp;gt;&amp;gt; I have tried this:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; widget.addContainerListener(ContainerListener(my_destroy_manager_function)) 
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ....
&lt;br&gt;&amp;gt;&amp;gt; class ContainerListener(awt.event.ContainerListener):
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;quot;Call my widget destroy handler&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; def __init__(self,my_destroy_manager):
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; self.my_destroy_manager = my_destroy_manager
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; def componentRemoved(self,*args):
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; self.my_destroy_manager()
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; But nor the closing by mouse clicking, nor the widget dispose method 
&lt;br&gt;&amp;gt;&amp;gt; trigger my_destroy_manager function.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; Because in neither case is your component actually removed from its 
&lt;br&gt;&amp;gt; parent container. Please explain why you need to do this in the first 
&lt;br&gt;&amp;gt; place so we may help you.
&lt;/div&gt;&lt;br&gt;I am porting AVC (&lt;a href=&quot;http://avc.inrim.it&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://avc.inrim.it&lt;/a&gt;) to java swing using jython.
&lt;br&gt;&lt;br&gt;In brief, AVC is a python module that connects values displayed by 
&lt;br&gt;widgets to values held by application variables. The connection is done 
&lt;br&gt;automatically matching names assigned to widgets with variable names.
&lt;br&gt;&lt;br&gt;When a widget controlled by AVC is destroyed, AVC needs to remove it 
&lt;br&gt;from its internal data structures. So I am looking for the right signal 
&lt;br&gt;to do this when I close the main window or the program delete same 
&lt;br&gt;widgets from the gui.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268133&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-to-catch-dispose-events-of-swing-widgets-tp26266959p26268133.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26267845</id>
	<title>Re: how to catch dispose events of swing widgets</title>
	<published>2009-11-09T06:59:49Z</published>
	<updated>2009-11-09T06:59:49Z</updated>
	<author>
		<name>Alex Grönholm-3</name>
	</author>
	<content type="html">Fabrizio Pollastri kirjoitti:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Alex Grönholm wrote:
&lt;br&gt;&amp;gt;&amp;gt; Fabrizio Pollastri kirjoitti:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; when the gui of my application is closed or when the application 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; destroys (intentionally) part of the gui, I need to catch this event 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; for each involved widget. Any suggestion is welcome. Thanks in advance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; What for? Also, I don't think any dispose events are sent, but you 
&lt;br&gt;&amp;gt;&amp;gt; can catch events generated from removing those widgets from their 
&lt;br&gt;&amp;gt;&amp;gt; parent container.
&lt;br&gt;&amp;gt;&amp;gt; Would that be good enough?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have tried this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; widget.addContainerListener(ContainerListener(my_destroy_manager_function)) 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ....
&lt;br&gt;&amp;gt; class ContainerListener(awt.event.ContainerListener):
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;Call my widget destroy handler&amp;quot;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; def __init__(self,my_destroy_manager):
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; self.my_destroy_manager = my_destroy_manager
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; def componentRemoved(self,*args):
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; self.my_destroy_manager()
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; But nor the closing by mouse clicking, nor the widget dispose method 
&lt;br&gt;&amp;gt; trigger my_destroy_manager function.
&lt;br&gt;&amp;gt;
&lt;/div&gt;Because in neither case is your component actually removed from its 
&lt;br&gt;parent container. Please explain why you need to do this in the first 
&lt;br&gt;place so we may help you.
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26267845&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-to-catch-dispose-events-of-swing-widgets-tp26266959p26267845.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26267102</id>
	<title>Re: how to catch dispose events of swing widgets</title>
	<published>2009-11-09T06:11:57Z</published>
	<updated>2009-11-09T06:11:57Z</updated>
	<author>
		<name>Alex Grönholm-3</name>
	</author>
	<content type="html">Fabrizio Pollastri kirjoitti:
&lt;br&gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt; when the gui of my application is closed or when the application 
&lt;br&gt;&amp;gt; destroys (intentionally) part of the gui, I need to catch this event for 
&lt;br&gt;&amp;gt; each involved widget. Any suggestion is welcome. Thanks in advance.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;What for? Also, I don't think any dispose events are sent, but you can 
&lt;br&gt;catch events generated from removing those widgets from their parent 
&lt;br&gt;container.
&lt;br&gt;Would that be good enough?
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Fabrizio Pollastri
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26267102&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26267102&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-to-catch-dispose-events-of-swing-widgets-tp26266959p26267102.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26266959</id>
	<title>how to catch dispose events of swing widgets</title>
	<published>2009-11-09T06:01:44Z</published>
	<updated>2009-11-09T06:01:44Z</updated>
	<author>
		<name>Fabrizio Pollastri-3</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;when the gui of my application is closed or when the application 
&lt;br&gt;destroys (intentionally) part of the gui, I need to catch this event for 
&lt;br&gt;each involved widget. Any suggestion is welcome. Thanks in advance.
&lt;br&gt;&lt;br&gt;Fabrizio Pollastri
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26266959&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-to-catch-dispose-events-of-swing-widgets-tp26266959p26266959.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26262426</id>
	<title>Re: pwd module on Windows</title>
	<published>2009-11-08T23:50:31Z</published>
	<updated>2009-11-08T23:50:31Z</updated>
	<author>
		<name>Daniel Baktiar</name>
	</author>
	<content type="html">hi john,&lt;br&gt;&lt;br&gt;&lt;br&gt;--- code-snippet ---&lt;br&gt;from java.lang import System&lt;br&gt;&lt;br&gt;for pname in System.getProperties():&lt;br&gt;  print(&amp;#39;%s=%s&amp;#39; % (pname, System.getProperty(pname)))&lt;br&gt;&lt;br&gt;--- /code-snippet ---&lt;br&gt;&lt;br&gt;look at properties such as:&lt;br&gt;

&lt;a href=&quot;http://os.name/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;os.name&lt;/a&gt;&lt;br&gt;os.arch&lt;br&gt;&lt;br&gt;and some others.&lt;br&gt;&lt;br&gt;regards,&lt;br&gt;daniel&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/2  &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262426&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;









&lt;div link=&quot;blue&quot; vlink=&quot;purple&quot; lang=&quot;EN-GB&quot;&gt;

&lt;div&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(31, 73, 125);&quot;&gt;And now I’m looking about for a solution, where by I need to
check the operating system (I have other requirements to avoid running code
that is platform specific – it makes calls to rsync etc.!), platform.system()
returns ‘Java’, so it’s difficult to tell what is the underlying operating
system.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(31, 73, 125);&quot;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(31, 73, 125);&quot;&gt;Any thoughts?&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(31, 73, 125);&quot;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;div style=&quot;border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0cm 0cm 0cm 4pt;&quot;&gt;

&lt;div&gt;

&lt;div style=&quot;border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0cm 0cm;&quot;&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10pt;&quot; lang=&quot;EN-US&quot;&gt;From:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 10pt;&quot; lang=&quot;EN-US&quot;&gt; Baker, John (IT/UK) &lt;br&gt;
&lt;b&gt;Sent:&lt;/b&gt; 02 November 2009 09:35&lt;br&gt;
&lt;b&gt;To:&lt;/b&gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262426&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;&lt;br&gt;
&lt;b&gt;Subject:&lt;/b&gt; [Jython-users] pwd module on Windows&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;

&lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;Hi,&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;What’s the best way to cope
with these errors:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;ImportError: pwd module not
supported on Windows&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;If it’s not supported, what
should I do to do something like this:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;  currentuser=
pwd.getpwuid(os.geteuid())[0]&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;I appreciate this isn’t
really Jython specific, but I suspect someone has some thoughts on writing
cross OS Python!&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Thanks,&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-left: 5.25pt;&quot;&gt;&lt;span&gt;John&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;

&lt;br&gt;
&lt;br&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;This e-mail (including any attachments) is confidential, may contain
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;proprietary or privileged information and is intended for the named
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;recipient(s) only. Unintended recipients are prohibited from taking action
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;on the basis of information in this e-mail and must delete all copies.
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;Nomura will not accept responsibility or liability for the accuracy or
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;completeness of, or the presence of any virus or disabling code in, this
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;e-mail. If verification is sought please request a hard copy. Any reference
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;to the terms of executed transactions should be treated as preliminary only
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;and subject to formal written confirmation by Nomura. Nomura reserves the
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;right to monitor e-mail communications through its networks (in accordance
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;with applicable laws). No confidentiality or privilege is waived or lost by
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;Nomura by any mistransmission of this e-mail. Any reference to &amp;quot;Nomura&amp;quot; is
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;a reference to any entity in the Nomura Holdings, Inc. group. Please read
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;our Electronic Communications Legal Notice which forms part of this e-mail:
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;

&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;


&lt;br&gt;------------------------------------------------------------------------------&lt;br&gt;
Come build with us! The BlackBerry(R) Developer Conference in SF, CA&lt;br&gt;
is the only developer event you need to attend this year. Jumpstart your&lt;br&gt;
developing skills, take BlackBerry mobile applications to market and stay&lt;br&gt;
ahead of the curve. Join us from November 9 - 12, 2009. Register now!&lt;br&gt;
&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________&lt;br&gt;
Jython-users mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262426&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Daniel Baktiar - JEEwish &amp;amp; Pythoneer&lt;br&gt;(&lt;a href=&quot;http://dbaktiar.wordpress.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://dbaktiar.wordpress.com&lt;/a&gt;)&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262426&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pwd-module-on-Windows-tp26161046p26262426.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26252483</id>
	<title>Re: Cleaning up PythonInterpreter object</title>
	<published>2009-11-08T02:39:49Z</published>
	<updated>2009-11-08T02:39:49Z</updated>
	<author>
		<name>Ron Chan</name>
	</author>
	<content type="html">looping through the script locals and setting them to null seems to work for me
&lt;br&gt;&lt;br&gt;e.g.
&lt;br&gt;List&amp;lt;String&amp;gt; scriptLocals = new ArrayList&amp;lt;String&amp;gt;();
&lt;br&gt;PyObject locals = interp.getLocals();
&lt;br&gt;for (PyObject item : locals.__iter__().asIterable()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; scriptLocals.add(item.toString());
&lt;br&gt;}
&lt;br&gt;for (String string : scriptLocals) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; interp.set(string, null);
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;this is the simplified version, you would probably need to ignore &amp;quot;__name__&amp;quot; and &amp;quot;__doc__&amp;quot;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Joonas Pulakka wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hello,
&lt;br&gt;&lt;br&gt;I've been told that creating a PythonInterpreter object is relatively
&lt;br&gt;expensive, and therefore it makes sense to cache/reuse it somehow. However,
&lt;br&gt;I'm having difficulties to &amp;quot;reset&amp;quot; the interpreter to its initial state. By
&lt;br&gt;resetting I mean clearing all previous variables, functions and class
&lt;br&gt;definitions. I thought interp.cleanup() would do something like that, but it
&lt;br&gt;doesn't seem to have any effect.
&lt;br&gt;&lt;br&gt;Is there a way to &amp;quot;reset&amp;quot; the interpreter, or should I just recreate it?
&lt;br&gt;&lt;br&gt;Best Regards,
&lt;br&gt;Joonas
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;Jython-users@lists.sourceforge.net
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Cleaning-up-PythonInterpreter-object-tp26231521p26252483.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26251292</id>
	<title>Re: Cleaning up PythonInterpreter object</title>
	<published>2009-11-07T22:20:31Z</published>
	<updated>2009-11-07T22:20:31Z</updated>
	<author>
		<name>Joonas Pulakka</name>
	</author>
	<content type="html">Actually I was working with exactly the object factory section that you mention. However, I think these examples are not quite production-quality code:&lt;br&gt;&lt;br&gt;* &lt;a href=&quot;http://jythonpodcast.hostjava.net/jythonbook/chapter10.html#one-to-one-jython-object-factories&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://jythonpodcast.hostjava.net/jythonbook/chapter10.html#one-to-one-jython-object-factories&lt;/a&gt; forces to recreate PythonInterpreter each time a new type of Jython-&amp;gt;Java object is needed. The factory can only be reused for building several objects of same type.&lt;br&gt;

&lt;br&gt;* &lt;a href=&quot;http://jythonpodcast.hostjava.net/jythonbook/chapter10.html#making-use-of-a-loosely-coupled-object-factory&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://jythonpodcast.hostjava.net/jythonbook/chapter10.html#making-use-of-a-loosely-coupled-object-factory&lt;/a&gt; : The upper listing recreates PythonInterpreter each time a new Jython-&amp;gt;Java object is needed - it&amp;#39;s doesn&amp;#39;t even reuse the interpreter for same types of objects (like the previous example does). The lower one (that uses PySystemState) contains the descriptive comment: &amp;quot;// likely want to reuse PySystemState in some clever fashion since expensive to setup...&amp;quot;&lt;br&gt;

&lt;br&gt;So from the doc it seems that nobody has really figured out how to actually implement this reuse thing. Anyway, thanks for pointing out PlyJy in the other mail, I&amp;#39;ll have a look at it.&lt;br&gt;&lt;br&gt;Best,&lt;br&gt;Joonas&lt;br&gt;&lt;br&gt;

&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/8 Josh Juneau &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251292&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;juneau001@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

It seems that the only way to really &amp;quot;reset&amp;quot; the interpreter would be to recreate it as you mention.  I do agree with you that cleanup() seems that it should do the trick...but instead does nothing notable.&lt;div&gt;

&lt;br&gt;
&lt;/div&gt;&lt;div&gt;Can we ask what you are doing with the interpreter?  Are object factories (&lt;a href=&quot;http://jythonpodcast.hostjava.net/jythonbook/chapter10.html#object-factories&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://jythonpodcast.hostjava.net/jythonbook/chapter10.html#object-factories&lt;/a&gt;) a solution that may work for you?  If so, they are quite easy to use and there is a PySystemState object factory that performs fairly well.  This may be something for you to look into.  You may also want to take a look at using JSR-223 as it may do the trick for you.&lt;div&gt;


&lt;br&gt;&lt;/div&gt;&lt;div&gt;Best&lt;/div&gt;&lt;div&gt;&lt;br clear=&quot;all&quot;&gt;Josh Juneau&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251292&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;juneau001@...&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://jj-blogger.blogspot.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://jj-blogger.blogspot.com&lt;/a&gt;&lt;br&gt;

Twitter ID:  javajuneau&lt;br&gt;

&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;On Fri, Nov 6, 2009 at 6:48 AM, Joonas Pulakka &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251292&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;joonas.pulakka@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;/div&gt;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;
&lt;div&gt;Hello,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;I&amp;#39;ve been told that creating a PythonInterpreter object is relatively expensive, and therefore it makes sense to cache/reuse it somehow. However, I&amp;#39;m having difficulties to &amp;quot;reset&amp;quot; the interpreter to its initial state. By resetting I mean clearing all previous variables, functions and class definitions. I thought interp.cleanup() would do something like that, but it doesn&amp;#39;t seem to have any effect.&lt;div&gt;



&lt;br&gt;&lt;/div&gt;&lt;div&gt;Is there a way to &amp;quot;reset&amp;quot; the interpreter, or should I just recreate it?&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Best Regards,&lt;/div&gt;&lt;div&gt;Joonas&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;br&gt;&lt;/div&gt;&lt;/div&gt;------------------------------------------------------------------------------&lt;br&gt;
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________&lt;br&gt;
Jython-users mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251292&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251292&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Cleaning-up-PythonInterpreter-object-tp26231521p26251292.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26251069</id>
	<title>Re: Cleaning up PythonInterpreter object</title>
	<published>2009-11-07T20:58:46Z</published>
	<updated>2009-11-07T20:58:46Z</updated>
	<author>
		<name>Josh Juneau-3</name>
	</author>
	<content type="html">It seems that the only way to really &amp;quot;reset&amp;quot; the interpreter would be to recreate it as you mention.  I do agree with you that cleanup() seems that it should do the trick...but instead does nothing notable.&lt;div&gt;&lt;br&gt;
&lt;/div&gt;&lt;div&gt;Can we ask what you are doing with the interpreter?  Are object factories (&lt;a href=&quot;http://jythonpodcast.hostjava.net/jythonbook/chapter10.html#object-factories&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jythonpodcast.hostjava.net/jythonbook/chapter10.html#object-factories&lt;/a&gt;) a solution that may work for you?  If so, they are quite easy to use and there is a PySystemState object factory that performs fairly well.  This may be something for you to look into.  You may also want to take a look at using JSR-223 as it may do the trick for you.&lt;div&gt;
&lt;br&gt;&lt;/div&gt;&lt;div&gt;Best&lt;/div&gt;&lt;div&gt;&lt;br clear=&quot;all&quot;&gt;Josh Juneau&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251069&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;juneau001@...&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://jj-blogger.blogspot.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jj-blogger.blogspot.com&lt;/a&gt;&lt;br&gt;Twitter ID:  javajuneau&lt;br&gt;

&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 6, 2009 at 6:48 AM, Joonas Pulakka &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251069&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;joonas.pulakka@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
&lt;div&gt;Hello,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;I&amp;#39;ve been told that creating a PythonInterpreter object is relatively expensive, and therefore it makes sense to cache/reuse it somehow. However, I&amp;#39;m having difficulties to &amp;quot;reset&amp;quot; the interpreter to its initial state. By resetting I mean clearing all previous variables, functions and class definitions. I thought interp.cleanup() would do something like that, but it doesn&amp;#39;t seem to have any effect.&lt;div&gt;

&lt;br&gt;&lt;/div&gt;&lt;div&gt;Is there a way to &amp;quot;reset&amp;quot; the interpreter, or should I just recreate it?&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Best Regards,&lt;/div&gt;&lt;div&gt;Joonas&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;br&gt;------------------------------------------------------------------------------&lt;br&gt;
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________&lt;br&gt;
Jython-users mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251069&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251069&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Cleaning-up-PythonInterpreter-object-tp26231521p26251069.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26251008</id>
	<title>Re: Invoking a function on a module</title>
	<published>2009-11-07T20:38:23Z</published>
	<updated>2009-11-07T20:38:23Z</updated>
	<author>
		<name>Josh Juneau-3</name>
	</author>
	<content type="html">I also just updated the PythonInterpreter section of the book and sent to Apress.  I will be updating the online book at some point in the not too distant future.  For now, here is a table that I put together that describes all of the different methods available for use with the PythonInterpreter.  Perhaps it will help you out a bit with the PythonInterpreter.  However, I agree with Jim that object factories are the best way to go.  Check out the PlyJy (&lt;a href=&quot;http://kenai.com/projects/plyjy&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://kenai.com/projects/plyjy&lt;/a&gt;) project for some working examples.&lt;div&gt;
&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here is that table (unformatted and ugly):&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;

&lt;p class=&quot;TableCaption&quot;&gt;PythonInterpreter Methods&lt;/p&gt;

&lt;div style=&quot;mso-element:para-border-div;border:none;border-top:solid black 1.0pt;
mso-border-top-alt:solid black .5pt;padding:3.0pt 0in 0in 0in&quot;&gt;

&lt;p class=&quot;TableHead&quot;&gt;Method&lt;span style=&quot;mso-tab-count:1&quot;&gt;                  &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;                  &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;                  &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;                  &lt;/span&gt;Description&lt;/p&gt;


&lt;/div&gt;

&lt;p class=&quot;TableText&quot;&gt;setIn(PyObject)&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;                            
&lt;/span&gt;Set the Python object to use for the standard input stream&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;setIn(java.io.Reader)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;            
&lt;/span&gt;Set a java.io.Reader to use for the standard input stream&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;setIn(java.io.InputStream)&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;            
&lt;/span&gt;Set a java.io.InputStream to use for the standard input stream&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;setOut(PyObject)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;             
&lt;/span&gt;Set the Python object to use for the standard output stream&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;setOut(java.io.Writer)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;             
&lt;/span&gt;Set the java.io.Writer to use for the standard output stream&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;setOut(java,io.OutputStream)&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;        &lt;/span&gt;Set the
java.io.OutputStream to use for the standard output stream&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;setErr(PyObject)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;             
&lt;/span&gt;Set a Python error object to use for the standard error stream&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;setErr(java.io.Writer&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;
Set a java.io.Writer to use for the standard error stream&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;setErr(java.io.OutputStream)&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;         &lt;/span&gt;Set a
java.io.OutputStream to use for the standard error stream&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;eval(String)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;Evaluate
a string as Python source and return the result&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;eval(PyObject)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;Evaluate
a Python code object and return the result&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;exec(String)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;Execute
a string of Python source in the local namespace&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;exec(PyObject)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;Execute
a Python code object in the local namespace&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;execfile(String filename)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;Execute
a file of Python source in the local namespace&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;execfile(java.io.InputStream)&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;        &lt;/span&gt;Execute an input stream
of Python source in the local namespace&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;compile(String)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;Compile
a string of Python source as&lt;span style=&quot;mso-spacerun: yes&quot;&gt;  &lt;/span&gt;an
expression or module&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;compile(script, filename)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;Compile
a script of Python source as an expression or module&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;set(String name, Object value)&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;Set
a variable of Object type in the local namespace&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;set(String name, PyObject value)&lt;span style=&quot;mso-spacerun:
yes&quot;&gt;  &lt;/span&gt;Set a varuable of PyObject type in the local namespace&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;get(String)&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;            &lt;/span&gt;Get
the value of a variable in the local namespace&lt;/p&gt;

&lt;p class=&quot;TableText&quot;&gt;get(String name, Class&amp;lt;T&amp;gt; javaclass&lt;span style=&quot;mso-spacerun: yes&quot;&gt;  &lt;/span&gt;Get the value of a variable in the
local namespace.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;  &lt;/span&gt;The value will be
returned as an instance of the given Java class.&lt;/p&gt;




&lt;div&gt;Hope this helps.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;Josh Juneau&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;juneau001@...&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://jj-blogger.blogspot.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jj-blogger.blogspot.com&lt;/a&gt;&lt;br&gt;Twitter ID:  javajuneau&lt;br&gt;

&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/6 Alex Grönholm &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.gronholm@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
&lt;div class=&quot;im&quot;&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; kirjoitti:&lt;br&gt;
&lt;/div&gt;&lt;div class=&quot;im&quot;&gt;&amp;gt; Great, thanks.  Why can&amp;#39;t I do:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; interp.exec(&amp;quot;import mypackage.mymodule&amp;quot;)&lt;br&gt;
&amp;gt; PythonObject f= interp.get(&amp;quot;mypackage.mymodule.mymethod&amp;quot;);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; f is null?&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;/div&gt;Try interp.eval()&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; -----Original Message-----&lt;br&gt;
&amp;gt;&amp;gt; From: Jeff Emanuel [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jemanuel@...&lt;/a&gt;]&lt;br&gt;
&amp;gt;&amp;gt; Sent: 05 November 2009 21:55&lt;br&gt;
&amp;gt;&amp;gt; To: Baker, John (IT/UK)&lt;br&gt;
&amp;gt;&amp;gt; Cc: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; Subject: Re: [Jython-users] Invoking a function on a module&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; interp.exec(&amp;quot;from mypackage.mymodule import mymethod&amp;quot;);&lt;br&gt;
&amp;gt;&amp;gt; PyObject f = interp.get(&amp;#39;mymethod&amp;#39;);&lt;br&gt;
&amp;gt;&amp;gt; PyObject result = f.__call__(new PyString(&amp;quot;a&amp;quot;),new PyInteger(123));&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; wrote:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Hi,&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; If I want to do:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Import mypackage.mymodule&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Mypackage.mymodule.mymethod(&amp;#39;a&amp;#39;, 123)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Then how do I do it like this:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             PyModule module = ... ?&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             PyObject result = module.invoke(&amp;quot;mymethod&amp;quot;,&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                   new PyObject[] {&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                      new PyString(&amp;#39;a&amp;#39;),&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                      new PyInteger(123)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                     }&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             )&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; I don&amp;#39;t know how to get a reference to module - the reason I ask is&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; I&amp;#39;d like to implement this slightly more strictly than running&lt;br&gt;
&amp;gt;&amp;gt; PythonInterpreter.exec for each method call.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Thanks,&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; john&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; -----Original Message-----&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; From: Alex Grönholm [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.gronholm@...&lt;/a&gt;]&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sent: 04 November 2009 17:27&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; Subject: Re: [Jython-users] Invoking a function on a module&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; kirjoitti:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hello,&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I&amp;#39;ve looked at the Python API docs but feel that a few common&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; examples&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; would be of use. For example, I can pass a String to&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; PythonInterpreter&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and execute it, but how can I invoke the method &amp;#39;test&amp;#39; on the&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; module&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;#39;mymodule.py&amp;#39;, which is in the classpath? Or even better, if my&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; classpath contains a directory &amp;#39;mypackage&amp;#39;, and the module lives&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; inside it, how do I do:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; import mypackage.mymodule&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; mypackage.mymodule.test(&amp;#39;params&amp;#39;)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; through the Python API?&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; Just exec() those statements one after another. Shouldn&amp;#39;t be that&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; difficult to figure out :)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Thanks,&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; John&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This e-mail (including any attachments) is confidential, may&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; contain&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; proprietary or privileged information and is intended for the named&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; action&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; on the basis of information in this e-mail and must delete all&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; copies.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Nomura will not accept responsibility or liability for the accuracy&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; or&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; completeness of, or the presence of any virus or disabling code in,&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; this&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; e-mail. If verification is sought please request a hard copy. Any&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; reference&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; to the terms of executed transactions should be treated as&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; preliminary&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; only&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and subject to formal written confirmation by Nomura. Nomura&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; reserves&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; the&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; right to monitor e-mail communications through its networks (in&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; accordance&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; with applicable laws). No confidentiality or privilege is waived or&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; lost by&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;Nomura&amp;quot; is&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Please&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; read&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; our Electronic Communications Legal Notice which forms part of this&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; e-mail:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; 2008&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; 30-Day&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment -&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; and&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; focus on&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; --------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; -------&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; 30-Day&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; focus on&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; This e-mail (including any attachments) is confidential, may contain&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; proprietary or privileged information and is intended for the named&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; action&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; on the basis of information in this e-mail and must delete all copies.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Nomura will not accept responsibility or liability for the accuracy&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; or&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; completeness of, or the presence of any virus or disabling code in,&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; this&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; e-mail. If verification is sought please request a hard copy. Any&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; reference&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; to the terms of executed transactions should be treated as&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; preliminary only&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; the&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; right to monitor e-mail communications through its networks (in&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; accordance&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; with applicable laws). No confidentiality or privilege is waived or&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; lost by&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;quot;Nomura&amp;quot; is&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; read&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; our Electronic Communications Legal Notice which forms part of this&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; e-mail:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---------&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; 30-Day&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; focus on&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; This e-mail (including any attachments) is confidential, may contain&lt;br&gt;
&amp;gt; proprietary or privileged information and is intended for the named&lt;br&gt;
&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking action&lt;br&gt;
&amp;gt; on the basis of information in this e-mail and must delete all copies.&lt;br&gt;
&amp;gt; Nomura will not accept responsibility or liability for the accuracy or&lt;br&gt;
&amp;gt; completeness of, or the presence of any virus or disabling code in, this&lt;br&gt;
&amp;gt; e-mail. If verification is sought please request a hard copy. Any reference&lt;br&gt;
&amp;gt; to the terms of executed transactions should be treated as preliminary only&lt;br&gt;
&amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves the&lt;br&gt;
&amp;gt; right to monitor e-mail communications through its networks (in accordance&lt;br&gt;
&amp;gt; with applicable laws). No confidentiality or privilege is waived or lost by&lt;br&gt;
&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to &amp;quot;Nomura&amp;quot; is&lt;br&gt;
&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please read&lt;br&gt;
&amp;gt; our Electronic Communications Legal Notice which forms part of this e-mail:&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; ------------------------------------------------------------------------------&lt;br&gt;
&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
&amp;gt; trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
&amp;gt; what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt; Jython-users mailing list&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=12&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;------------------------------------------------------------------------------&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Jython-users mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=13&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26251008&amp;i=14&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Invoking-a-function-on-a-module-tp26193710p26251008.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26231521</id>
	<title>Cleaning up PythonInterpreter object</title>
	<published>2009-11-06T04:48:31Z</published>
	<updated>2009-11-06T04:48:31Z</updated>
	<author>
		<name>Joonas Pulakka</name>
	</author>
	<content type="html">&lt;div&gt;Hello,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;I&amp;#39;ve been told that creating a PythonInterpreter object is relatively expensive, and therefore it makes sense to cache/reuse it somehow. However, I&amp;#39;m having difficulties to &amp;quot;reset&amp;quot; the interpreter to its initial state. By resetting I mean clearing all previous variables, functions and class definitions. I thought interp.cleanup() would do something like that, but it doesn&amp;#39;t seem to have any effect.&lt;div&gt;
&lt;br&gt;&lt;/div&gt;&lt;div&gt;Is there a way to &amp;quot;reset&amp;quot; the interpreter, or should I just recreate it?&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Best Regards,&lt;/div&gt;&lt;div&gt;Joonas&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26231521&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Cleaning-up-PythonInterpreter-object-tp26231521p26231521.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26229991</id>
	<title>Re: Invoking a function on a module</title>
	<published>2009-11-06T02:48:11Z</published>
	<updated>2009-11-06T02:48:11Z</updated>
	<author>
		<name>Alex Grönholm-3</name>
	</author>
	<content type="html">&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; kirjoitti:
&lt;br&gt;&amp;gt; Great, thanks. &amp;nbsp;Why can't I do:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; interp.exec(&amp;quot;import mypackage.mymodule&amp;quot;)
&lt;br&gt;&amp;gt; PythonObject f= interp.get(&amp;quot;mypackage.mymodule.mymethod&amp;quot;);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; f is null?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;Try interp.eval()
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt;&amp;gt; From: Jeff Emanuel [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jemanuel@...&lt;/a&gt;]
&lt;br&gt;&amp;gt;&amp;gt; Sent: 05 November 2009 21:55
&lt;br&gt;&amp;gt;&amp;gt; To: Baker, John (IT/UK)
&lt;br&gt;&amp;gt;&amp;gt; Cc: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; Subject: Re: [Jython-users] Invoking a function on a module
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; interp.exec(&amp;quot;from mypackage.mymodule import mymethod&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; PyObject f = interp.get('mymethod');
&lt;br&gt;&amp;gt;&amp;gt; PyObject result = f.__call__(new PyString(&amp;quot;a&amp;quot;),new PyInteger(123));
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; If I want to do:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Import mypackage.mymodule
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Mypackage.mymodule.mymethod('a', 123)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Then how do I do it like this:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 		PyModule module = ... ?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PyObject result = module.invoke(&amp;quot;mymethod&amp;quot;,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new PyObject[] {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new PyString('a'),
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new PyInteger(123)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 		 &amp;nbsp; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 		)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I don't know how to get a reference to module - the reason I ask is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; I'd like to implement this slightly more strictly than running
&lt;br&gt;&amp;gt;&amp;gt; PythonInterpreter.exec for each method call.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; john
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; From: Alex Grönholm [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.gronholm@...&lt;/a&gt;]
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sent: 04 November 2009 17:27
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Subject: Re: [Jython-users] Invoking a function on a module
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; kirjoitti:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I've looked at the Python API docs but feel that a few common
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; examples
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; would be of use. For example, I can pass a String to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; PythonInterpreter
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and execute it, but how can I invoke the method 'test' on the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; module
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 'mymodule.py', which is in the classpath? Or even better, if my
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; classpath contains a directory 'mypackage', and the module lives
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; inside it, how do I do:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; import mypackage.mymodule
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; mypackage.mymodule.test('params')
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; through the Python API?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Just exec() those statements one after another. Shouldn't be that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; difficult to figure out :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; John
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This e-mail (including any attachments) is confidential, may
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; contain
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; action
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; on the basis of information in this e-mail and must delete all
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; copies.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Nomura will not accept responsibility or liability for the accuracy
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; or
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; completeness of, or the presence of any virus or disabling code in,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; e-mail. If verification is sought please request a hard copy. Any
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; reference
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; to the terms of executed transactions should be treated as
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; preliminary
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; only
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and subject to formal written confirmation by Nomura. Nomura
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; reserves
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; right to monitor e-mail communications through its networks (in
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; accordance
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; with applicable laws). No confidentiality or privilege is waived or
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; lost by
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Please
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; read
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; our Electronic Communications Legal Notice which forms part of this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; e-mail:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; 2008
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment -
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; and
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; focus on
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; --------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; focus on
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; action
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Nomura will not accept responsibility or liability for the accuracy
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; or
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; completeness of, or the presence of any virus or disabling code in,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; this
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; e-mail. If verification is sought please request a hard copy. Any
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; reference
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to the terms of executed transactions should be treated as
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; preliminary only
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; right to monitor e-mail communications through its networks (in
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; accordance
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; with applicable laws). No confidentiality or privilege is waived or
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; lost by
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; read
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; our Electronic Communications Legal Notice which forms part of this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; e-mail:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; ---------
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; focus on
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;&amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking action
&lt;br&gt;&amp;gt; on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;&amp;gt; Nomura will not accept responsibility or liability for the accuracy or
&lt;br&gt;&amp;gt; completeness of, or the presence of any virus or disabling code in, this
&lt;br&gt;&amp;gt; e-mail. If verification is sought please request a hard copy. Any reference
&lt;br&gt;&amp;gt; to the terms of executed transactions should be treated as preliminary only
&lt;br&gt;&amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves the
&lt;br&gt;&amp;gt; right to monitor e-mail communications through its networks (in accordance
&lt;br&gt;&amp;gt; with applicable laws). No confidentiality or privilege is waived or lost by
&lt;br&gt;&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please read
&lt;br&gt;&amp;gt; our Electronic Communications Legal Notice which forms part of this e-mail:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229991&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Invoking-a-function-on-a-module-tp26193710p26229991.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26228599</id>
	<title>Re: Invoking a function on a module</title>
	<published>2009-11-06T00:45:09Z</published>
	<updated>2009-11-06T00:45:09Z</updated>
	<author>
		<name>john.m.baker</name>
	</author>
	<content type="html">Great, thanks. &amp;nbsp;Why can't I do:
&lt;br&gt;&lt;br&gt;interp.exec(&amp;quot;import mypackage.mymodule&amp;quot;)
&lt;br&gt;PythonObject f= interp.get(&amp;quot;mypackage.mymodule.mymethod&amp;quot;);
&lt;br&gt;&lt;br&gt;f is null?
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; From: Jeff Emanuel [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26228599&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jemanuel@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: 05 November 2009 21:55
&lt;br&gt;&amp;gt; To: Baker, John (IT/UK)
&lt;br&gt;&amp;gt; Cc: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26228599&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: Re: [Jython-users] Invoking a function on a module
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; interp.exec(&amp;quot;from mypackage.mymodule import mymethod&amp;quot;);
&lt;br&gt;&amp;gt; PyObject f = interp.get('mymethod');
&lt;br&gt;&amp;gt; PyObject result = f.__call__(new PyString(&amp;quot;a&amp;quot;),new PyInteger(123));
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26228599&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; If I want to do:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Import mypackage.mymodule
&lt;br&gt;&amp;gt; &amp;gt; Mypackage.mymodule.mymethod('a', 123)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Then how do I do it like this:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 		PyModule module = ... ?
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PyObject result = module.invoke(&amp;quot;mymethod&amp;quot;,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new PyObject[] {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new PyString('a'),
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new PyInteger(123)
&lt;br&gt;&amp;gt; &amp;gt; 		 &amp;nbsp; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;gt; 		)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I don't know how to get a reference to module - the reason I ask is
&lt;br&gt;&amp;gt; I'd like to implement this slightly more strictly than running
&lt;br&gt;&amp;gt; PythonInterpreter.exec for each method call.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Thanks,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; john
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; From: Alex Grönholm [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26228599&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.gronholm@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Sent: 04 November 2009 17:27
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26228599&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Subject: Re: [Jython-users] Invoking a function on a module
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26228599&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; kirjoitti:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I've looked at the Python API docs but feel that a few common
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; examples
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; would be of use. For example, I can pass a String to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; PythonInterpreter
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; and execute it, but how can I invoke the method 'test' on the
&lt;br&gt;&amp;gt; module
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 'mymodule.py', which is in the classpath? Or even better, if my
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; classpath contains a directory 'mypackage', and the module lives
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; inside it, how do I do:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; import mypackage.mymodule
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; mypackage.mymodule.test('params')
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; through the Python API?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Just exec() those statements one after another. Shouldn't be that
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; difficult to figure out :)
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; John
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; This e-mail (including any attachments) is confidential, may
&lt;br&gt;&amp;gt; contain
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; action
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; on the basis of information in this e-mail and must delete all
&lt;br&gt;&amp;gt; copies.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Nomura will not accept responsibility or liability for the accuracy
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; or
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; completeness of, or the presence of any virus or disabling code in,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; this
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; e-mail. If verification is sought please request a hard copy. Any
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; reference
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; to the terms of executed transactions should be treated as
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; preliminary
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; only
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; and subject to formal written confirmation by Nomura. Nomura
&lt;br&gt;&amp;gt; reserves
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; right to monitor e-mail communications through its networks (in
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; accordance
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; with applicable laws). No confidentiality or privilege is waived or
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; lost by
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group.
&lt;br&gt;&amp;gt; Please
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; read
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; our Electronic Communications Legal Notice which forms part of this
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; e-mail:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -------------------------------------------------------------------
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -------------------------------------------------------------------
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; ---------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports
&lt;br&gt;&amp;gt; 2008
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment -
&lt;br&gt;&amp;gt; and
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -------------------------------------------------------------------
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26228599&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; --------------------------------------------------------------------
&lt;br&gt;&amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; -------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26228599&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;&amp;gt; &amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt; &amp;gt; recipient(s) only. Unintended recipients are prohibited from taking
&lt;br&gt;&amp;gt; action
&lt;br&gt;&amp;gt; &amp;gt; on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;&amp;gt; &amp;gt; Nomura will not accept responsibility or liability for the accuracy
&lt;br&gt;&amp;gt; or
&lt;br&gt;&amp;gt; &amp;gt; completeness of, or the presence of any virus or disabling code in,
&lt;br&gt;&amp;gt; this
&lt;br&gt;&amp;gt; &amp;gt; e-mail. If verification is sought please request a hard copy. Any
&lt;br&gt;&amp;gt; reference
&lt;br&gt;&amp;gt; &amp;gt; to the terms of executed transactions should be treated as
&lt;br&gt;&amp;gt; preliminary only
&lt;br&gt;&amp;gt; &amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves
&lt;br&gt;&amp;gt; the
&lt;br&gt;&amp;gt; &amp;gt; right to monitor e-mail communications through its networks (in
&lt;br&gt;&amp;gt; accordance
&lt;br&gt;&amp;gt; &amp;gt; with applicable laws). No confidentiality or privilege is waived or
&lt;br&gt;&amp;gt; lost by
&lt;br&gt;&amp;gt; &amp;gt; Nomura by any mistransmission of this e-mail. Any reference to
&lt;br&gt;&amp;gt; &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt; &amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please
&lt;br&gt;&amp;gt; read
&lt;br&gt;&amp;gt; &amp;gt; our Electronic Communications Legal Notice which forms part of this
&lt;br&gt;&amp;gt; e-mail:
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; ---------
&lt;br&gt;&amp;gt; &amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; &amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; &amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; &amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26228599&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;proprietary or privileged information and is intended for the named
&lt;br&gt;recipient(s) only. Unintended recipients are prohibited from taking action
&lt;br&gt;on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;Nomura will not accept responsibility or liability for the accuracy or
&lt;br&gt;completeness of, or the presence of any virus or disabling code in, this
&lt;br&gt;e-mail. If verification is sought please request a hard copy. Any reference
&lt;br&gt;to the terms of executed transactions should be treated as preliminary only
&lt;br&gt;and subject to formal written confirmation by Nomura. Nomura reserves the
&lt;br&gt;right to monitor e-mail communications through its networks (in accordance
&lt;br&gt;with applicable laws). No confidentiality or privilege is waived or lost by
&lt;br&gt;Nomura by any mistransmission of this e-mail. Any reference to &amp;quot;Nomura&amp;quot; is
&lt;br&gt;a reference to any entity in the Nomura Holdings, Inc. group. Please read
&lt;br&gt;our Electronic Communications Legal Notice which forms part of this e-mail:
&lt;br&gt;&lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26228599&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Invoking-a-function-on-a-module-tp26193710p26228599.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26223552</id>
	<title>Re: java.lang.NoClassDefFoundError: wrong name</title>
	<published>2009-11-05T14:33:13Z</published>
	<updated>2009-11-05T14:33:13Z</updated>
	<author>
		<name>oti-3</name>
	</author>
	<content type="html">Michael,
&lt;br&gt;&lt;br&gt;KeyPBO.class is top level inside the .jar file,
&lt;br&gt;but javap -c reveals:
&lt;br&gt;&amp;nbsp; public final class DhtPairs.KeyPBO extends java.lang.Object
&lt;br&gt;which makes me believe it should be in package DhtPairs.
&lt;br&gt;&lt;br&gt;best wishes,
&lt;br&gt;Oti.
&lt;br&gt;&lt;br&gt;On Thu, Nov 5, 2009 at 8:46 PM, Michael Lawson (mshindo)
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223552&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;michael@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Attached is the file. Its a rather simple package, basically just simply one
&lt;br&gt;&amp;gt; class that has been generated by google protocol buffers.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Fri, Nov 6, 2009 at 6:13 AM, Leo Soto M. &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223552&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;leo.soto@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Thu, Nov 5, 2009 at 12:38 AM, Michael Lawson (mshindo)
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223552&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;michael@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Hey,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I am trying to use a class that I have created that is located in a
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; seperate
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Jar file in my class path. I can use this with standalone java without
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; any
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; problems. I have tried several methods of  including/importing this into
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; my
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Jython program, all without any success and rather strange error
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; messages.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; First method:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; from DhtPairs import KeyPBO
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; which returns
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; from DhtPairs import KeyPBO
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Traceback (innermost last):
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;   File &amp;quot;&amp;lt;console&amp;gt;&amp;quot;, line 1, in ?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; ImportError: no module named DhtPairs
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; and also:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; from KeyPBO import Key
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; import KeyPBO
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Traceback (innermost last):
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;   File &amp;quot;&amp;lt;console&amp;gt;&amp;quot;, line 1, in ?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.lang.ClassLoader.defineClass1(Native Method)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.lang.ClassLoader.defineClass(ClassLoader.java:700)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.security.AccessController.doPrivileged(Native Method)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:244)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.lang.Class.forName0(Native Method)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.lang.Class.forName(Class.java:169)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at org.python.core.SyspathJavaLoader.loadClass(Unknown Source)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at org.python.core.Py.findClassEx(Unknown Source)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at org.python.core.SysPackageManager.findClass(Unknown Source)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at org.python.core.PackageManager.findClass(Unknown Source)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at org.python.core.SysPackageManager.findClass(Unknown Source)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at org.python.core.PyJavaPackage.__findattr__(Unknown Source)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at org.python.core.PackageManager.lookupName(Unknown Source)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at org.python.core.JavaImporter.find_module(Unknown Source)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at org.python.core.JavaImporter.find_module(Unknown Source)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;         at java.lang.reflect.Method.invoke(Method.java:597)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: KeyPBO
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; (wrong name: DhtPairs/KeyPBO)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Can anyone offer suggestions ?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Can you attach the jar file with the Java classes? (or publish on the
&lt;br&gt;&amp;gt;&amp;gt; web?)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; Leo Soto M.
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://blog.leosoto.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.leosoto.com&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Michael Lawson (mshindo)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus
&lt;br&gt;&amp;gt; on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223552&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223552&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/java.lang.NoClassDefFoundError%3A-wrong-name-tp26208867p26223552.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26223029</id>
	<title>Re: Invoking a function on a module</title>
	<published>2009-11-05T13:55:16Z</published>
	<updated>2009-11-05T13:55:16Z</updated>
	<author>
		<name>Jeff Emanuel</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;interp.exec(&amp;quot;from mypackage.mymodule import mymethod&amp;quot;);
&lt;br&gt;PyObject f = interp.get('mymethod');
&lt;br&gt;PyObject result = f.__call__(new PyString(&amp;quot;a&amp;quot;),new PyInteger(123));
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223029&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If I want to do:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Import mypackage.mymodule
&lt;br&gt;&amp;gt; Mypackage.mymodule.mymethod('a', 123)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Then how do I do it like this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 		PyModule module = ... ?
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PyObject result = module.invoke(&amp;quot;mymethod&amp;quot;, 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new PyObject[] {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new PyString('a'),
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new PyInteger(123)
&lt;br&gt;&amp;gt; 		 &amp;nbsp; &amp;nbsp;	}
&lt;br&gt;&amp;gt; 		)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I don't know how to get a reference to module - the reason I ask is I'd like to implement this slightly more strictly than running PythonInterpreter.exec for each method call.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; john
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt;&amp;gt; From: Alex Grönholm [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223029&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.gronholm@...&lt;/a&gt;]
&lt;br&gt;&amp;gt;&amp;gt; Sent: 04 November 2009 17:27
&lt;br&gt;&amp;gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223029&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; Subject: Re: [Jython-users] Invoking a function on a module
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223029&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; kirjoitti:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I've looked at the Python API docs but feel that a few common
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; examples
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; would be of use. For example, I can pass a String to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; PythonInterpreter
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; and execute it, but how can I invoke the method 'test' on the module
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 'mymodule.py', which is in the classpath? Or even better, if my
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; classpath contains a directory 'mypackage', and the module lives
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; inside it, how do I do:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; import mypackage.mymodule
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; mypackage.mymodule.test('params')
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; through the Python API?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Just exec() those statements one after another. Shouldn't be that
&lt;br&gt;&amp;gt;&amp;gt; difficult to figure out :)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; John
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; action
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Nomura will not accept responsibility or liability for the accuracy
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; or
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; completeness of, or the presence of any virus or disabling code in,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; this
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; e-mail. If verification is sought please request a hard copy. Any
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; reference
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to the terms of executed transactions should be treated as
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; preliminary
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; only
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; right to monitor e-mail communications through its networks (in
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; accordance
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; with applicable laws). No confidentiality or privilege is waived or
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; lost by
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; read
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; our Electronic Communications Legal Notice which forms part of this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; e-mail:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; ---------
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; focus on
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223029&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; -----------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; -------
&lt;br&gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;&amp;gt;&amp;gt; focus on
&lt;br&gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223029&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;&amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking action
&lt;br&gt;&amp;gt; on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;&amp;gt; Nomura will not accept responsibility or liability for the accuracy or
&lt;br&gt;&amp;gt; completeness of, or the presence of any virus or disabling code in, this
&lt;br&gt;&amp;gt; e-mail. If verification is sought please request a hard copy. Any reference
&lt;br&gt;&amp;gt; to the terms of executed transactions should be treated as preliminary only
&lt;br&gt;&amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves the
&lt;br&gt;&amp;gt; right to monitor e-mail communications through its networks (in accordance
&lt;br&gt;&amp;gt; with applicable laws). No confidentiality or privilege is waived or lost by
&lt;br&gt;&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please read
&lt;br&gt;&amp;gt; our Electronic Communications Legal Notice which forms part of this e-mail:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223029&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223029&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Invoking-a-function-on-a-module-tp26193710p26223029.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26221185</id>
	<title>Re: java.lang.NoClassDefFoundError: wrong name</title>
	<published>2009-11-05T11:46:11Z</published>
	<updated>2009-11-05T11:46:11Z</updated>
	<author>
		<name>Michael Lawson (mshindo)</name>
	</author>
	<content type="html">Attached is the file. Its a rather simple package, basically just simply one class that has been generated by google protocol buffers.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 6, 2009 at 6:13 AM, Leo Soto M. &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221185&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;leo.soto@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;On Thu, Nov 5, 2009 at 12:38 AM, Michael Lawson (mshindo)&lt;br&gt;


&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221185&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;michael@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt; Hey,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I am trying to use a class that I have created that is located in a seperate&lt;br&gt;
&amp;gt; Jar file in my class path. I can use this with standalone java without any&lt;br&gt;
&amp;gt; problems. I have tried several methods of  including/importing this into my&lt;br&gt;
&amp;gt; Jython program, all without any success and rather strange error messages.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; First method:&lt;br&gt;
&amp;gt; from DhtPairs import KeyPBO&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; which returns&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; from DhtPairs import KeyPBO&lt;br&gt;
&amp;gt; Traceback (innermost last):&lt;br&gt;
&amp;gt;   File &amp;quot;&amp;lt;console&amp;gt;&amp;quot;, line 1, in ?&lt;br&gt;
&amp;gt; ImportError: no module named DhtPairs&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; and also:&lt;br&gt;
&amp;gt; from KeyPBO import Key&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt; import KeyPBO&lt;br&gt;
&amp;gt; Traceback (innermost last):&lt;br&gt;
&amp;gt;   File &amp;quot;&amp;lt;console&amp;gt;&amp;quot;, line 1, in ?&lt;br&gt;
&amp;gt;         at java.lang.ClassLoader.defineClass1(Native Method)&lt;br&gt;
&amp;gt;         at java.lang.ClassLoader.defineClass(ClassLoader.java:700)&lt;br&gt;
&amp;gt;         at&lt;br&gt;
&amp;gt; java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)&lt;br&gt;
&amp;gt;         at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)&lt;br&gt;
&amp;gt;         at java.net.URLClassLoader.access$000(URLClassLoader.java:56)&lt;br&gt;
&amp;gt;         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)&lt;br&gt;
&amp;gt;         at java.security.AccessController.doPrivileged(Native Method)&lt;br&gt;
&amp;gt;         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)&lt;br&gt;
&amp;gt;         at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:244)&lt;br&gt;
&amp;gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:319)&lt;br&gt;
&amp;gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:254)&lt;br&gt;
&amp;gt;         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399)&lt;br&gt;
&amp;gt;         at java.lang.Class.forName0(Native Method)&lt;br&gt;
&amp;gt;         at java.lang.Class.forName(Class.java:169)&lt;br&gt;
&amp;gt;         at org.python.core.SyspathJavaLoader.loadClass(Unknown Source)&lt;br&gt;
&amp;gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:254)&lt;br&gt;
&amp;gt;         at org.python.core.Py.findClassEx(Unknown Source)&lt;br&gt;
&amp;gt;         at org.python.core.SysPackageManager.findClass(Unknown Source)&lt;br&gt;
&amp;gt;         at org.python.core.PackageManager.findClass(Unknown Source)&lt;br&gt;
&amp;gt;         at org.python.core.SysPackageManager.findClass(Unknown Source)&lt;br&gt;
&amp;gt;         at org.python.core.PyJavaPackage.__findattr__(Unknown Source)&lt;br&gt;
&amp;gt;         at org.python.core.PackageManager.lookupName(Unknown Source)&lt;br&gt;
&amp;gt;         at org.python.core.JavaImporter.find_module(Unknown Source)&lt;br&gt;
&amp;gt;         at org.python.core.JavaImporter.find_module(Unknown Source)&lt;br&gt;
&amp;gt;         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br&gt;
&amp;gt;         at&lt;br&gt;
&amp;gt; sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;br&gt;
&amp;gt;         at&lt;br&gt;
&amp;gt; sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;br&gt;
&amp;gt;         at java.lang.reflect.Method.invoke(Method.java:597)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: KeyPBO&lt;br&gt;
&amp;gt; (wrong name: DhtPairs/KeyPBO)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Can anyone offer suggestions ?&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;Can you attach the jar file with the Java classes? (or publish on the web?)&lt;br&gt;
&lt;br&gt;
Regards,&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;--&lt;br&gt;
Leo Soto M.&lt;br&gt;
&lt;a href=&quot;http://blog.leosoto.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://blog.leosoto.com&lt;/a&gt;&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Michael Lawson (mshindo)&lt;br&gt;&lt;br&gt;
&lt;br /&gt; &lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221185&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;DhtPairs.jar&lt;/strong&gt; (8K) &lt;a href=&quot;http://old.nabble.com/attachment/26221185/0/DhtPairs.jar&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/java.lang.NoClassDefFoundError%3A-wrong-name-tp26208867p26221185.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26218742</id>
	<title>Re: java.lang.NoClassDefFoundError: wrong name</title>
	<published>2009-11-05T09:13:34Z</published>
	<updated>2009-11-05T09:13:34Z</updated>
	<author>
		<name>Leo Soto M.</name>
	</author>
	<content type="html">On Thu, Nov 5, 2009 at 12:38 AM, Michael Lawson (mshindo)
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218742&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;michael@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hey,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am trying to use a class that I have created that is located in a seperate
&lt;br&gt;&amp;gt; Jar file in my class path. I can use this with standalone java without any
&lt;br&gt;&amp;gt; problems. I have tried several methods of  including/importing this into my
&lt;br&gt;&amp;gt; Jython program, all without any success and rather strange error messages.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; First method:
&lt;br&gt;&amp;gt; from DhtPairs import KeyPBO
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; which returns
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; from DhtPairs import KeyPBO
&lt;br&gt;&amp;gt; Traceback (innermost last):
&lt;br&gt;&amp;gt;   File &amp;quot;&amp;lt;console&amp;gt;&amp;quot;, line 1, in ?
&lt;br&gt;&amp;gt; ImportError: no module named DhtPairs
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; and also:
&lt;br&gt;&amp;gt; from KeyPBO import Key
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; import KeyPBO
&lt;br&gt;&amp;gt; Traceback (innermost last):
&lt;br&gt;&amp;gt;   File &amp;quot;&amp;lt;console&amp;gt;&amp;quot;, line 1, in ?
&lt;br&gt;&amp;gt;         at java.lang.ClassLoader.defineClass1(Native Method)
&lt;br&gt;&amp;gt;         at java.lang.ClassLoader.defineClass(ClassLoader.java:700)
&lt;br&gt;&amp;gt;         at
&lt;br&gt;&amp;gt; java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
&lt;br&gt;&amp;gt;         at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
&lt;br&gt;&amp;gt;         at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
&lt;br&gt;&amp;gt;         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
&lt;br&gt;&amp;gt;         at java.security.AccessController.doPrivileged(Native Method)
&lt;br&gt;&amp;gt;         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
&lt;br&gt;&amp;gt;         at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:244)
&lt;br&gt;&amp;gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
&lt;br&gt;&amp;gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
&lt;br&gt;&amp;gt;         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399)
&lt;br&gt;&amp;gt;         at java.lang.Class.forName0(Native Method)
&lt;br&gt;&amp;gt;         at java.lang.Class.forName(Class.java:169)
&lt;br&gt;&amp;gt;         at org.python.core.SyspathJavaLoader.loadClass(Unknown Source)
&lt;br&gt;&amp;gt;         at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
&lt;br&gt;&amp;gt;         at org.python.core.Py.findClassEx(Unknown Source)
&lt;br&gt;&amp;gt;         at org.python.core.SysPackageManager.findClass(Unknown Source)
&lt;br&gt;&amp;gt;         at org.python.core.PackageManager.findClass(Unknown Source)
&lt;br&gt;&amp;gt;         at org.python.core.SysPackageManager.findClass(Unknown Source)
&lt;br&gt;&amp;gt;         at org.python.core.PyJavaPackage.__findattr__(Unknown Source)
&lt;br&gt;&amp;gt;         at org.python.core.PackageManager.lookupName(Unknown Source)
&lt;br&gt;&amp;gt;         at org.python.core.JavaImporter.find_module(Unknown Source)
&lt;br&gt;&amp;gt;         at org.python.core.JavaImporter.find_module(Unknown Source)
&lt;br&gt;&amp;gt;         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&lt;br&gt;&amp;gt;         at
&lt;br&gt;&amp;gt; sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
&lt;br&gt;&amp;gt;         at
&lt;br&gt;&amp;gt; sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
&lt;br&gt;&amp;gt;         at java.lang.reflect.Method.invoke(Method.java:597)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: KeyPBO
&lt;br&gt;&amp;gt; (wrong name: DhtPairs/KeyPBO)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Can anyone offer suggestions ?
&lt;/div&gt;&lt;br&gt;Can you attach the jar file with the Java classes? (or publish on the web?)
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;-- 
&lt;br&gt;Leo Soto M.
&lt;br&gt;&lt;a href=&quot;http://blog.leosoto.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.leosoto.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218742&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/java.lang.NoClassDefFoundError%3A-wrong-name-tp26208867p26218742.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26218597</id>
	<title>Re: Invoking a function on a module</title>
	<published>2009-11-05T09:02:38Z</published>
	<updated>2009-11-05T09:02:38Z</updated>
	<author>
		<name>Jim Baker</name>
	</author>
	<content type="html">May I suggest the far easier mechanism of using an object factory? It&amp;#39;s more general than the incomplete snippet presented, and we have lots of experience using it for Java integration:&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://jythonpodcast.hostjava.net/jythonbook/chapter10.html#object-factories&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jythonpodcast.hostjava.net/jythonbook/chapter10.html#object-factories&lt;/a&gt;&lt;br&gt;

&lt;br&gt;An alternative would be to use JSR223, also documented in chapter 10.&lt;br&gt;&lt;br&gt;- Jim&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Thu, Nov 5, 2009 at 9:36 AM,  &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218597&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Hi,&lt;br&gt;
&lt;br&gt;
If I want to do:&lt;br&gt;
&lt;br&gt;
Import mypackage.mymodule&lt;br&gt;
Mypackage.mymodule.mymethod(&amp;#39;a&amp;#39;, 123)&lt;br&gt;
&lt;br&gt;
Then how do I do it like this:&lt;br&gt;
&lt;br&gt;
                PyModule module = ... ?&lt;br&gt;
            PyObject result = module.invoke(&amp;quot;mymethod&amp;quot;,&lt;br&gt;
                  new PyObject[] {&lt;br&gt;
                     new PyString(&amp;#39;a&amp;#39;),&lt;br&gt;
                     new PyInteger(123)&lt;br&gt;
                        }&lt;br&gt;
                )&lt;br&gt;
&lt;br&gt;
I don&amp;#39;t know how to get a reference to module - the reason I ask is I&amp;#39;d like to implement this slightly more strictly than running PythonInterpreter.exec for each method call.&lt;br&gt;
&lt;br&gt;
Thanks,&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
john&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;gt; -----Original Message-----&lt;br&gt;
&amp;gt; From: Alex Grönholm [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218597&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.gronholm@...&lt;/a&gt;]&lt;br&gt;
&amp;gt; Sent: 04 November 2009 17:27&lt;br&gt;
&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218597&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt; Subject: Re: [Jython-users] Invoking a function on a module&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218597&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; kirjoitti:&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Hello,&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; I&amp;#39;ve looked at the Python API docs but feel that a few common&lt;br&gt;
&amp;gt; examples&lt;br&gt;
&amp;gt; &amp;gt; would be of use. For example, I can pass a String to&lt;br&gt;
&amp;gt; PythonInterpreter&lt;br&gt;
&amp;gt; &amp;gt; and execute it, but how can I invoke the method &amp;#39;test&amp;#39; on the module&lt;br&gt;
&amp;gt; &amp;gt; &amp;#39;mymodule.py&amp;#39;, which is in the classpath? Or even better, if my&lt;br&gt;
&amp;gt; &amp;gt; classpath contains a directory &amp;#39;mypackage&amp;#39;, and the module lives&lt;br&gt;
&amp;gt; &amp;gt; inside it, how do I do:&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; import mypackage.mymodule&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; mypackage.mymodule.test(&amp;#39;params&amp;#39;)&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; through the Python API?&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; Just exec() those statements one after another. Shouldn&amp;#39;t be that&lt;br&gt;
&amp;gt; difficult to figure out :)&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Thanks,&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; John&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; This e-mail (including any attachments) is confidential, may contain&lt;br&gt;
&amp;gt; &amp;gt; proprietary or privileged information and is intended for the named&lt;br&gt;
&amp;gt; &amp;gt; recipient(s) only. Unintended recipients are prohibited from taking&lt;br&gt;
&amp;gt; &amp;gt; action&lt;br&gt;
&amp;gt; &amp;gt; on the basis of information in this e-mail and must delete all copies.&lt;br&gt;
&amp;gt; &amp;gt; Nomura will not accept responsibility or liability for the accuracy&lt;br&gt;
&amp;gt; or&lt;br&gt;
&amp;gt; &amp;gt; completeness of, or the presence of any virus or disabling code in,&lt;br&gt;
&amp;gt; this&lt;br&gt;
&amp;gt; &amp;gt; e-mail. If verification is sought please request a hard copy. Any&lt;br&gt;
&amp;gt; &amp;gt; reference&lt;br&gt;
&amp;gt; &amp;gt; to the terms of executed transactions should be treated as&lt;br&gt;
&amp;gt; preliminary&lt;br&gt;
&amp;gt; &amp;gt; only&lt;br&gt;
&amp;gt; &amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves&lt;br&gt;
&amp;gt; the&lt;br&gt;
&amp;gt; &amp;gt; right to monitor e-mail communications through its networks (in&lt;br&gt;
&amp;gt; &amp;gt; accordance&lt;br&gt;
&amp;gt; &amp;gt; with applicable laws). No confidentiality or privilege is waived or&lt;br&gt;
&amp;gt; &amp;gt; lost by&lt;br&gt;
&amp;gt; &amp;gt; Nomura by any mistransmission of this e-mail. Any reference to&lt;br&gt;
&amp;gt; &amp;gt; &amp;quot;Nomura&amp;quot; is&lt;br&gt;
&amp;gt; &amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please&lt;br&gt;
&amp;gt; read&lt;br&gt;
&amp;gt; &amp;gt; our Electronic Communications Legal Notice which forms part of this&lt;br&gt;
&amp;gt; &amp;gt; e-mail:&lt;br&gt;
&amp;gt; &amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt; ---&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt; ---------&lt;br&gt;
&amp;gt; &amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008&lt;br&gt;
&amp;gt; 30-Day&lt;br&gt;
&amp;gt; &amp;gt; trial. Simplify your report design, integration and deployment - and&lt;br&gt;
&amp;gt; focus on&lt;br&gt;
&amp;gt; &amp;gt; what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
&amp;gt; &amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt; ---&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; _______________________________________________&lt;br&gt;
&amp;gt; &amp;gt; Jython-users mailing list&lt;br&gt;
&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218597&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; -----------------------------------------------------------------------&lt;br&gt;
&amp;gt; -------&lt;br&gt;
&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008&lt;br&gt;
&amp;gt; 30-Day&lt;br&gt;
&amp;gt; trial. Simplify your report design, integration and deployment - and&lt;br&gt;
&amp;gt; focus on&lt;br&gt;
&amp;gt; what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt; Jython-users mailing list&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218597&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
This e-mail (including any attachments) is confidential, may contain&lt;br&gt;
proprietary or privileged information and is intended for the named&lt;br&gt;
recipient(s) only. Unintended recipients are prohibited from taking action&lt;br&gt;
on the basis of information in this e-mail and must delete all copies.&lt;br&gt;
Nomura will not accept responsibility or liability for the accuracy or&lt;br&gt;
completeness of, or the presence of any virus or disabling code in, this&lt;br&gt;
e-mail. If verification is sought please request a hard copy. Any reference&lt;br&gt;
to the terms of executed transactions should be treated as preliminary only&lt;br&gt;
and subject to formal written confirmation by Nomura. Nomura reserves the&lt;br&gt;
right to monitor e-mail communications through its networks (in accordance&lt;br&gt;
with applicable laws). No confidentiality or privilege is waived or lost by&lt;br&gt;
Nomura by any mistransmission of this e-mail. Any reference to &amp;quot;Nomura&amp;quot; is&lt;br&gt;
a reference to any entity in the Nomura Holdings, Inc. group. Please read&lt;br&gt;
our Electronic Communications Legal Notice which forms part of this e-mail:&lt;br&gt;
&lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
------------------------------------------------------------------------------&lt;br&gt;
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Jython-users mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218597&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Jim Baker&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218597&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jbaker@...&lt;/a&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218597&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Invoking-a-function-on-a-module-tp26193710p26218597.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26218606</id>
	<title>ANN: Jump 0.9.6 released!</title>
	<published>2009-11-05T08:56:55Z</published>
	<updated>2009-11-05T08:56:55Z</updated>
	<author>
		<name>Olli Wang-2</name>
	</author>
	<content type="html">&lt;div&gt;I am proud to announce that Jump 0.9.6 is released! &lt;/div&gt;&lt;div&gt;Jump is a build tool for distributing Java and Jython applications in a really simple step. You can find the Jump project at &lt;a href=&quot;http://opensource.ollix.com/jump&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://opensource.ollix.com/jump&lt;/a&gt;. Yes, we have a new website!&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;New features:&lt;/div&gt;&lt;div&gt; * Support distributing `JAVA ONLY` applications!&lt;/div&gt;&lt;div&gt; * Support including resource files in the final distribution.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If you have any question or bug report, please post it to our mailing list at &lt;a href=&quot;http://groups.google.com/group/ollix-jump&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/ollix-jump&lt;/a&gt;, contributions are always welcome as well.&lt;/div&gt;

&lt;br&gt;-- &lt;br&gt;Olli Wang&lt;br&gt;&lt;br&gt;OLLI WANG PRODUCTIONS - &lt;a href=&quot;http://olliwang.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://olliwang.com&lt;/a&gt;&lt;br&gt;A BLOG ABOUT MY LIFE AND MY WORK&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218606&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ANN%3A-Jump-0.9.6-released%21-tp26218606p26218606.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26218081</id>
	<title>Re: Invoking a function on a module</title>
	<published>2009-11-05T08:36:59Z</published>
	<updated>2009-11-05T08:36:59Z</updated>
	<author>
		<name>john.m.baker</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;If I want to do:
&lt;br&gt;&lt;br&gt;Import mypackage.mymodule
&lt;br&gt;Mypackage.mymodule.mymethod('a', 123)
&lt;br&gt;&lt;br&gt;Then how do I do it like this:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PyModule module = ... ?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PyObject result = module.invoke(&amp;quot;mymethod&amp;quot;, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new PyObject[] {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new PyString('a'),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new PyInteger(123)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
&lt;br&gt;&lt;br&gt;I don't know how to get a reference to module - the reason I ask is I'd like to implement this slightly more strictly than running PythonInterpreter.exec for each method call.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;&lt;br&gt;john
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; From: Alex Grönholm [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218081&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.gronholm@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: 04 November 2009 17:27
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218081&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: Re: [Jython-users] Invoking a function on a module
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218081&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; kirjoitti:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Hello,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I've looked at the Python API docs but feel that a few common
&lt;br&gt;&amp;gt; examples
&lt;br&gt;&amp;gt; &amp;gt; would be of use. For example, I can pass a String to
&lt;br&gt;&amp;gt; PythonInterpreter
&lt;br&gt;&amp;gt; &amp;gt; and execute it, but how can I invoke the method 'test' on the module
&lt;br&gt;&amp;gt; &amp;gt; 'mymodule.py', which is in the classpath? Or even better, if my
&lt;br&gt;&amp;gt; &amp;gt; classpath contains a directory 'mypackage', and the module lives
&lt;br&gt;&amp;gt; &amp;gt; inside it, how do I do:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; import mypackage.mymodule
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; mypackage.mymodule.test('params')
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; through the Python API?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; Just exec() those statements one after another. Shouldn't be that
&lt;br&gt;&amp;gt; difficult to figure out :)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Thanks,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; John
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;&amp;gt; &amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt; &amp;gt; recipient(s) only. Unintended recipients are prohibited from taking
&lt;br&gt;&amp;gt; &amp;gt; action
&lt;br&gt;&amp;gt; &amp;gt; on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;&amp;gt; &amp;gt; Nomura will not accept responsibility or liability for the accuracy
&lt;br&gt;&amp;gt; or
&lt;br&gt;&amp;gt; &amp;gt; completeness of, or the presence of any virus or disabling code in,
&lt;br&gt;&amp;gt; this
&lt;br&gt;&amp;gt; &amp;gt; e-mail. If verification is sought please request a hard copy. Any
&lt;br&gt;&amp;gt; &amp;gt; reference
&lt;br&gt;&amp;gt; &amp;gt; to the terms of executed transactions should be treated as
&lt;br&gt;&amp;gt; preliminary
&lt;br&gt;&amp;gt; &amp;gt; only
&lt;br&gt;&amp;gt; &amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves
&lt;br&gt;&amp;gt; the
&lt;br&gt;&amp;gt; &amp;gt; right to monitor e-mail communications through its networks (in
&lt;br&gt;&amp;gt; &amp;gt; accordance
&lt;br&gt;&amp;gt; &amp;gt; with applicable laws). No confidentiality or privilege is waived or
&lt;br&gt;&amp;gt; &amp;gt; lost by
&lt;br&gt;&amp;gt; &amp;gt; Nomura by any mistransmission of this e-mail. Any reference to
&lt;br&gt;&amp;gt; &amp;gt; &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt; &amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please
&lt;br&gt;&amp;gt; read
&lt;br&gt;&amp;gt; &amp;gt; our Electronic Communications Legal Notice which forms part of this
&lt;br&gt;&amp;gt; &amp;gt; e-mail:
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; ---------
&lt;br&gt;&amp;gt; &amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; &amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; &amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; &amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218081&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -----------------------------------------------------------------------
&lt;br&gt;&amp;gt; -------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218081&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;proprietary or privileged information and is intended for the named
&lt;br&gt;recipient(s) only. Unintended recipients are prohibited from taking action
&lt;br&gt;on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;Nomura will not accept responsibility or liability for the accuracy or
&lt;br&gt;completeness of, or the presence of any virus or disabling code in, this
&lt;br&gt;e-mail. If verification is sought please request a hard copy. Any reference
&lt;br&gt;to the terms of executed transactions should be treated as preliminary only
&lt;br&gt;and subject to formal written confirmation by Nomura. Nomura reserves the
&lt;br&gt;right to monitor e-mail communications through its networks (in accordance
&lt;br&gt;with applicable laws). No confidentiality or privilege is waived or lost by
&lt;br&gt;Nomura by any mistransmission of this e-mail. Any reference to &amp;quot;Nomura&amp;quot; is
&lt;br&gt;a reference to any entity in the Nomura Holdings, Inc. group. Please read
&lt;br&gt;our Electronic Communications Legal Notice which forms part of this e-mail:
&lt;br&gt;&lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26218081&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Invoking-a-function-on-a-module-tp26193710p26218081.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26211725</id>
	<title>Re: Invoking a function on a module</title>
	<published>2009-11-05T01:44:52Z</published>
	<updated>2009-11-05T01:44:52Z</updated>
	<author>
		<name>john.m.baker</name>
	</author>
	<content type="html">Well I assumed I'd have to create a PyModule and invoke a function on it...
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; From: Alex Grönholm [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26211725&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.gronholm@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: 04 November 2009 17:27
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26211725&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Subject: Re: [Jython-users] Invoking a function on a module
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26211725&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; kirjoitti:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Hello,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I've looked at the Python API docs but feel that a few common
&lt;br&gt;&amp;gt; examples
&lt;br&gt;&amp;gt; &amp;gt; would be of use. For example, I can pass a String to
&lt;br&gt;&amp;gt; PythonInterpreter
&lt;br&gt;&amp;gt; &amp;gt; and execute it, but how can I invoke the method 'test' on the module
&lt;br&gt;&amp;gt; &amp;gt; 'mymodule.py', which is in the classpath? Or even better, if my
&lt;br&gt;&amp;gt; &amp;gt; classpath contains a directory 'mypackage', and the module lives
&lt;br&gt;&amp;gt; &amp;gt; inside it, how do I do:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; import mypackage.mymodule
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; mypackage.mymodule.test('params')
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; through the Python API?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; Just exec() those statements one after another. Shouldn't be that
&lt;br&gt;&amp;gt; difficult to figure out :)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Thanks,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; John
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;&amp;gt; &amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt; &amp;gt; recipient(s) only. Unintended recipients are prohibited from taking
&lt;br&gt;&amp;gt; &amp;gt; action
&lt;br&gt;&amp;gt; &amp;gt; on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;&amp;gt; &amp;gt; Nomura will not accept responsibility or liability for the accuracy
&lt;br&gt;&amp;gt; or
&lt;br&gt;&amp;gt; &amp;gt; completeness of, or the presence of any virus or disabling code in,
&lt;br&gt;&amp;gt; this
&lt;br&gt;&amp;gt; &amp;gt; e-mail. If verification is sought please request a hard copy. Any
&lt;br&gt;&amp;gt; &amp;gt; reference
&lt;br&gt;&amp;gt; &amp;gt; to the terms of executed transactions should be treated as
&lt;br&gt;&amp;gt; preliminary
&lt;br&gt;&amp;gt; &amp;gt; only
&lt;br&gt;&amp;gt; &amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves
&lt;br&gt;&amp;gt; the
&lt;br&gt;&amp;gt; &amp;gt; right to monitor e-mail communications through its networks (in
&lt;br&gt;&amp;gt; &amp;gt; accordance
&lt;br&gt;&amp;gt; &amp;gt; with applicable laws). No confidentiality or privilege is waived or
&lt;br&gt;&amp;gt; &amp;gt; lost by
&lt;br&gt;&amp;gt; &amp;gt; Nomura by any mistransmission of this e-mail. Any reference to
&lt;br&gt;&amp;gt; &amp;gt; &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt; &amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please
&lt;br&gt;&amp;gt; read
&lt;br&gt;&amp;gt; &amp;gt; our Electronic Communications Legal Notice which forms part of this
&lt;br&gt;&amp;gt; &amp;gt; e-mail:
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; ---------
&lt;br&gt;&amp;gt; &amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; &amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; &amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; &amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26211725&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -----------------------------------------------------------------------
&lt;br&gt;&amp;gt; -------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and
&lt;br&gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26211725&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;proprietary or privileged information and is intended for the named
&lt;br&gt;recipient(s) only. Unintended recipients are prohibited from taking action
&lt;br&gt;on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;Nomura will not accept responsibility or liability for the accuracy or
&lt;br&gt;completeness of, or the presence of any virus or disabling code in, this
&lt;br&gt;e-mail. If verification is sought please request a hard copy. Any reference
&lt;br&gt;to the terms of executed transactions should be treated as preliminary only
&lt;br&gt;and subject to formal written confirmation by Nomura. Nomura reserves the
&lt;br&gt;right to monitor e-mail communications through its networks (in accordance
&lt;br&gt;with applicable laws). No confidentiality or privilege is waived or lost by
&lt;br&gt;Nomura by any mistransmission of this e-mail. Any reference to &amp;quot;Nomura&amp;quot; is
&lt;br&gt;a reference to any entity in the Nomura Holdings, Inc. group. Please read
&lt;br&gt;our Electronic Communications Legal Notice which forms part of this e-mail:
&lt;br&gt;&lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26211725&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Invoking-a-function-on-a-module-tp26193710p26211725.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26208867</id>
	<title>java.lang.NoClassDefFoundError: wrong name</title>
	<published>2009-11-04T19:38:00Z</published>
	<updated>2009-11-04T19:38:00Z</updated>
	<author>
		<name>Michael Lawson (mshindo)</name>
	</author>
	<content type="html">Hey,&lt;br&gt;&lt;br&gt;I am trying to use a class that I have created that is located in a seperate Jar file in my class path. I can use this with standalone java without any problems. I have tried several methods of  including/importing this into my Jython program, all without any success and rather strange error messages.&lt;br&gt;

&lt;br&gt;First method:&lt;br&gt;from DhtPairs import KeyPBO&lt;br&gt;&lt;br&gt;which returns &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; from DhtPairs import KeyPBO&lt;br&gt;Traceback (innermost last):&lt;br&gt;  File &amp;quot;&amp;lt;console&amp;gt;&amp;quot;, line 1, in ?&lt;br&gt;ImportError: no module named DhtPairs&lt;br&gt;

&lt;br&gt;and also:&lt;br&gt;from KeyPBO import Key&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; import KeyPBO&lt;br&gt;Traceback (innermost last):&lt;br&gt;  File &amp;quot;&amp;lt;console&amp;gt;&amp;quot;, line 1, in ?&lt;br&gt;        at java.lang.ClassLoader.defineClass1(Native Method)&lt;br&gt;
        at java.lang.ClassLoader.defineClass(ClassLoader.java:700)&lt;br&gt;
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)&lt;br&gt;        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)&lt;br&gt;        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)&lt;br&gt;

        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)&lt;br&gt;        at java.security.AccessController.doPrivileged(Native Method)&lt;br&gt;        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)&lt;br&gt;        at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:244)&lt;br&gt;

        at java.lang.ClassLoader.loadClass(ClassLoader.java:319)&lt;br&gt;        at java.lang.ClassLoader.loadClass(ClassLoader.java:254)&lt;br&gt;        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399)&lt;br&gt;        at java.lang.Class.forName0(Native Method)&lt;br&gt;

        at java.lang.Class.forName(Class.java:169)&lt;br&gt;        at org.python.core.SyspathJavaLoader.loadClass(Unknown Source)&lt;br&gt;        at java.lang.ClassLoader.loadClass(ClassLoader.java:254)&lt;br&gt;        at org.python.core.Py.findClassEx(Unknown Source)&lt;br&gt;

        at org.python.core.SysPackageManager.findClass(Unknown Source)&lt;br&gt;        at org.python.core.PackageManager.findClass(Unknown Source)&lt;br&gt;        at org.python.core.SysPackageManager.findClass(Unknown Source)&lt;br&gt;        at org.python.core.PyJavaPackage.__findattr__(Unknown Source)&lt;br&gt;

        at org.python.core.PackageManager.lookupName(Unknown Source)&lt;br&gt;        at org.python.core.JavaImporter.find_module(Unknown Source)&lt;br&gt;        at org.python.core.JavaImporter.find_module(Unknown Source)&lt;br&gt;        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br&gt;

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;br&gt;        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;br&gt;        at java.lang.reflect.Method.invoke(Method.java:597)&lt;br&gt;

&lt;br&gt;java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: KeyPBO (wrong name: DhtPairs/KeyPBO)&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;Can anyone offer suggestions ?&lt;br&gt;&lt;br&gt;-- &lt;br&gt;Michael Lawson (mshindo)&lt;br&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26208867&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/java.lang.NoClassDefFoundError%3A-wrong-name-tp26208867p26208867.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26200910</id>
	<title>Re: Invoking a function on a module</title>
	<published>2009-11-04T09:26:42Z</published>
	<updated>2009-11-04T09:26:42Z</updated>
	<author>
		<name>Alex Grönholm-3</name>
	</author>
	<content type="html">&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26200910&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; kirjoitti:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I’ve looked at the Python API docs but feel that a few common examples 
&lt;br&gt;&amp;gt; would be of use. For example, I can pass a String to PythonInterpreter 
&lt;br&gt;&amp;gt; and execute it, but how can I invoke the method ‘test’ on the module 
&lt;br&gt;&amp;gt; ‘mymodule.py’, which is in the classpath? Or even better, if my 
&lt;br&gt;&amp;gt; classpath contains a directory ‘mypackage’, and the module lives 
&lt;br&gt;&amp;gt; inside it, how do I do:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; import mypackage.mymodule
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; mypackage.mymodule.test(‘params’)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; through the Python API?
&lt;br&gt;&amp;gt;
&lt;/div&gt;Just exec() those statements one after another. Shouldn't be that 
&lt;br&gt;difficult to figure out :)
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; John
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;&amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking 
&lt;br&gt;&amp;gt; action
&lt;br&gt;&amp;gt; on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;&amp;gt; Nomura will not accept responsibility or liability for the accuracy or
&lt;br&gt;&amp;gt; completeness of, or the presence of any virus or disabling code in, this
&lt;br&gt;&amp;gt; e-mail. If verification is sought please request a hard copy. Any 
&lt;br&gt;&amp;gt; reference
&lt;br&gt;&amp;gt; to the terms of executed transactions should be treated as preliminary 
&lt;br&gt;&amp;gt; only
&lt;br&gt;&amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves the
&lt;br&gt;&amp;gt; right to monitor e-mail communications through its networks (in 
&lt;br&gt;&amp;gt; accordance
&lt;br&gt;&amp;gt; with applicable laws). No confidentiality or privilege is waived or 
&lt;br&gt;&amp;gt; lost by
&lt;br&gt;&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to 
&lt;br&gt;&amp;gt; &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please read
&lt;br&gt;&amp;gt; our Electronic Communications Legal Notice which forms part of this 
&lt;br&gt;&amp;gt; e-mail:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26200910&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26200910&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Invoking-a-function-on-a-module-tp26193710p26200910.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26201174</id>
	<title>Re: Invoking a function on a module</title>
	<published>2009-11-04T09:09:46Z</published>
	<updated>2009-11-04T09:09:46Z</updated>
	<author>
		<name>Jeff Emanuel</name>
	</author>
	<content type="html">&lt;a href=&quot;http://wiki.python.org/jython/UserGuide#embedding-jython&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.python.org/jython/UserGuide#embedding-jython&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26201174&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john.m.baker@...&lt;/a&gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I’ve looked at the Python API docs but feel that a few common examples 
&lt;br&gt;&amp;gt; would be of use. For example, I can pass a String to PythonInterpreter 
&lt;br&gt;&amp;gt; and execute it, but how can I invoke the method ‘test’ on the module 
&lt;br&gt;&amp;gt; ‘mymodule.py’, which is in the classpath? Or even better, if my 
&lt;br&gt;&amp;gt; classpath contains a directory ‘mypackage’, and the module lives 
&lt;br&gt;&amp;gt; inside it, how do I do:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; import mypackage.mymodule
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; mypackage.mymodule.test(‘params’)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; through the Python API?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; John
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This e-mail (including any attachments) is confidential, may contain
&lt;br&gt;&amp;gt; proprietary or privileged information and is intended for the named
&lt;br&gt;&amp;gt; recipient(s) only. Unintended recipients are prohibited from taking 
&lt;br&gt;&amp;gt; action
&lt;br&gt;&amp;gt; on the basis of information in this e-mail and must delete all copies.
&lt;br&gt;&amp;gt; Nomura will not accept responsibility or liability for the accuracy or
&lt;br&gt;&amp;gt; completeness of, or the presence of any virus or disabling code in, this
&lt;br&gt;&amp;gt; e-mail. If verification is sought please request a hard copy. Any 
&lt;br&gt;&amp;gt; reference
&lt;br&gt;&amp;gt; to the terms of executed transactions should be treated as preliminary 
&lt;br&gt;&amp;gt; only
&lt;br&gt;&amp;gt; and subject to formal written confirmation by Nomura. Nomura reserves the
&lt;br&gt;&amp;gt; right to monitor e-mail communications through its networks (in 
&lt;br&gt;&amp;gt; accordance
&lt;br&gt;&amp;gt; with applicable laws). No confidentiality or privilege is waived or 
&lt;br&gt;&amp;gt; lost by
&lt;br&gt;&amp;gt; Nomura by any mistransmission of this e-mail. Any reference to 
&lt;br&gt;&amp;gt; &amp;quot;Nomura&amp;quot; is
&lt;br&gt;&amp;gt; a reference to any entity in the Nomura Holdings, Inc. group. Please read
&lt;br&gt;&amp;gt; our Electronic Communications Legal Notice which forms part of this 
&lt;br&gt;&amp;gt; e-mail:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.Nomura.com/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.Nomura.com/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26201174&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26201174&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Invoking-a-function-on-a-module-tp26193710p26201174.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26200084</id>
	<title>Re: Using Python Classes from Java without Factories /	Jython on Java ME</title>
	<published>2009-11-04T08:49:10Z</published>
	<updated>2009-11-04T08:49:10Z</updated>
	<author>
		<name>Alex Grönholm-3</name>
	</author>
	<content type="html">Jan Wedel kirjoitti:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I’m currently looking for a way to get a python script running on an 
&lt;br&gt;&amp;gt; Java ME (IMP/CLDC) environment. I actually already ported PyMite to 
&lt;br&gt;&amp;gt; Java but it was to slow because it was interpreting Python byte code 
&lt;br&gt;&amp;gt; at runtime.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Then I though Clamp could be the solution and Charlie Groves pointed 
&lt;br&gt;&amp;gt; me back to jython which is able to compile Python scripts to class files.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I used the compileall script to compile a midlet written in python, 
&lt;br&gt;&amp;gt; something like this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; from javax.microedition.midlet import MIDlet
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; class PyMidlet(MIDlet):
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; def __init__(self):
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print &amp;quot;Midlet Constructor&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; def startApp(self):
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print &amp;quot;Application 
&lt;br&gt;&amp;gt; started.&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; def pauseApp(self):
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print &amp;quot;Application 
&lt;br&gt;&amp;gt; paused.&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; def destroyApp(self, cond):
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print &amp;quot;Application destroyed, 
&lt;br&gt;&amp;gt; condition=&amp;quot;, cond
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I packaged this as a jar, created a jad and run it with the WTK 
&lt;br&gt;&amp;gt; emulator. It says not Midlet “PyMidlet” found. Then I used JBE to look 
&lt;br&gt;&amp;gt; at the generated java bytecode and compared it to the bytecode of a 
&lt;br&gt;&amp;gt; “real” Java midlet.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Taking a quick look, I saw two important things:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1.) &amp;nbsp; &amp;nbsp;It implements the PyRunnable interface instead of MIDlet
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2.) &amp;nbsp; &amp;nbsp;All method got a $1, $2 attached to its names.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So, now the question, is it possible, to create a class file that 
&lt;br&gt;&amp;gt; looks and behaves like a “real” MIDlet from other java classes?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Ok, and the second, maybe more important, question is, is “only” the 
&lt;br&gt;&amp;gt; python libraries implemented in Java that use advanced java features 
&lt;br&gt;&amp;gt; (HashMap e.g.) &amp;nbsp;that do not exist in JavaME? That would be Ok, because 
&lt;br&gt;&amp;gt; I’m a pro in porting JavaSE code to JavaME. Or, does the core part, 
&lt;br&gt;&amp;gt; that is essentially necessary to run even the most simple python 
&lt;br&gt;&amp;gt; script, does use e.g. class loading which can not be implemented in 
&lt;br&gt;&amp;gt; Java ME at all?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What I need is a self-contained jar file including only the necessary 
&lt;br&gt;&amp;gt; class files. I don’t need the interpreter and features like the 
&lt;br&gt;&amp;gt; interactive input.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So, I am willing to spend some time (days, weeks) to the necessary 
&lt;br&gt;&amp;gt; work to get it running on Java ME. But if there is some general 
&lt;br&gt;&amp;gt; restrictions in the architecture of Jython, it won’t be possible.
&lt;br&gt;&amp;gt;
&lt;/div&gt;This is exactly what Clamp is meant to do. Charlie Groves has not yet 
&lt;br&gt;finished his work on the necessary proxy generation hooks in Jython, 
&lt;br&gt;which would enable Clamp to function. If you want to expedite the 
&lt;br&gt;process, offer him your help.
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any comments are welcome!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jan
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26200084&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26200084&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Using-Python-Classes-from-Java-without-Factories---Jython-on-Java-ME-tp26199966p26200084.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26199966</id>
	<title>Using Python Classes from Java without Factories / Jython on Java ME</title>
	<published>2009-11-04T08:41:34Z</published>
	<updated>2009-11-04T08:41:34Z</updated>
	<author>
		<name>Jan Wedel</name>
	</author>
	<content type="html">&lt;html xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot; xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns:m=&quot;http://schemas.microsoft.com/office/2004/12/omml&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;

&lt;meta name=Generator content=&quot;Microsoft Word 12 (filtered medium)&quot;&gt;

&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapedefaults v:ext=&quot;edit&quot; spidmax=&quot;1026&quot; /&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapelayout v:ext=&quot;edit&quot;&gt;
  &lt;o:idmap v:ext=&quot;edit&quot; data=&quot;1&quot; /&gt;
 &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;
&lt;/head&gt;

&lt;body lang=DE link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;Hi,&lt;o:p&gt;&lt;/o:p&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;I&amp;#8217;m currently looking for a way to
get a python script running on an Java ME (IMP/CLDC) environment. I actually
already ported PyMite to Java but it was to slow because it was interpreting
Python byte code at runtime.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;Then I though Clamp could be the solution
and Charlie Groves pointed me back to jython which is able to compile Python
scripts to class files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;I used the compileall script to compile a
midlet written in python, something like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;from javax.microedition.midlet import
MIDlet&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;class PyMidlet(MIDlet):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def
__init__(self):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print
&amp;quot;Midlet Constructor&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def
startApp(self):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print
&amp;quot;Application started.&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def
pauseApp(self):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print
&amp;quot;Application paused.&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def
destroyApp(self, cond):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print
&amp;quot;Application destroyed, condition=&amp;quot;, cond&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;I packaged this as a jar, created a jad and
run it with the WTK emulator. It says not Midlet &amp;#8220;PyMidlet&amp;#8221; found. Then
I used JBE to look at the generated java bytecode and compared it to the bytecode
of a &amp;#8220;real&amp;#8221; Java midlet.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;Taking a quick look, I saw two important
things:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'&gt;&lt;![if !supportLists]&gt;&lt;span lang=EN-US&gt;&lt;span style='mso-list:Ignore'&gt;1.)&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;&lt;span lang=EN-US&gt;It implements the PyRunnable
interface instead of MIDlet&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'&gt;&lt;![if !supportLists]&gt;&lt;span lang=EN-US&gt;&lt;span style='mso-list:Ignore'&gt;2.)&lt;span style='font:7.0pt &quot;Times New Roman&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]&gt;&lt;span lang=EN-US&gt;All method got a $1, $2
attached to its names.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;So, now the question, is it possible, to
create a class file that looks and behaves like a &amp;#8220;real&amp;#8221; MIDlet
from other java classes? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;Ok, and the second, maybe more important,
question is, is &amp;#8220;only&amp;#8221; the python libraries implemented in Java
that use advanced java features (HashMap e.g.) &amp;nbsp;that do not exist in
JavaME? That would be Ok, because I&amp;#8217;m a pro in porting JavaSE code to
JavaME. Or, does the core part, that is essentially necessary to run even the
most simple python script, does use e.g. class loading which can not be
implemented in Java ME at all?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;What I need is a self-contained jar file
including only the necessary class files. I don&amp;#8217;t need the interpreter
and features like the interactive input.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;So, I am willing to spend some time (days,
weeks) to the necessary work to get it running on Java ME. But if there is some
general restrictions in the architecture of Jython, it won&amp;#8217;t be possible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;Any comments are welcome!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;Jan&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26199966&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Using-Python-Classes-from-Java-without-Factories---Jython-on-Java-ME-tp26199966p26199966.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26197826</id>
	<title>Re: BeautifulSoup is very slow with Jython</title>
	<published>2009-11-04T06:57:44Z</published>
	<updated>2009-11-04T06:57:44Z</updated>
	<author>
		<name>Nicholas Riley-4</name>
	</author>
	<content type="html">In article 
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26197826&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;d03bb4010911030757m64f2e6cag8c00edf2d4b1c349@...&lt;/a&gt;&amp;gt;,
&lt;br&gt;&amp;nbsp;Jim Baker &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26197826&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jbaker@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; So we looked at both java.util.regex and somewhat more seriously at the
&lt;br&gt;&amp;gt; JRuby regex engine (itself a port of a C-based engine). In the latter case,
&lt;br&gt;&amp;gt; Nicholas Riley saw something like 30% (as I recall it) speedup over our
&lt;br&gt;&amp;gt; existing engine.
&lt;br&gt;&lt;br&gt;It was closer to 50% on pyparsing, but that's a pretty extreme case of 
&lt;br&gt;regex usage. &amp;nbsp;One of the major issues is that the string gets converted 
&lt;br&gt;into an int array and back in order to handle 4-byte Unicode characters.
&lt;br&gt;&lt;br&gt;One version of my patch is here:
&lt;br&gt;&lt;br&gt;&amp;lt;&lt;a href=&quot;http://freya.cs.uiuc.edu/~njriley/joni.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://freya.cs.uiuc.edu/~njriley/joni.patch&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;It's pretty rough, though. &amp;nbsp;It may be possible to examine the regex at 
&lt;br&gt;compile time to determine whether it's executable with another engine or 
&lt;br&gt;needs exact sre emulation.
&lt;br&gt;-- 
&lt;br&gt;Nicholas Riley &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26197826&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;njriley@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26197826&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/BeautifulSoup-is-very-slow-with-Jython-tp26175497p26197826.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26193710</id>
	<title>Invoking a function on a module</title>
	<published>2009-11-04T02:04:10Z</published>
	<updated>2009-11-04T02:04:10Z</updated>
	<author>
		<name>john.m.baker</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 3.2//EN&quot;&gt;
&lt;HTML&gt;
&lt;HEAD&gt;
&lt;META HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;META NAME=&quot;Generator&quot; CONTENT=&quot;MS Exchange Server version 6.5.7655.2&quot;&gt;
&lt;TITLE&gt;Invoking a function on a module&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;!-- Converted from text/rtf format --&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Arial&quot;&gt;Hello,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;I&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;&amp;#8217;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;ve looked at the Python API docs but feel t&lt;/FONT&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;hat a few common examples would be of use.&amp;nbsp; For examp&lt;/FONT&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;le, I can pass a String to PythonInterpreter and execute it, but how can I invoke the method&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt; &lt;FONT FACE=&quot;Calibri&quot;&gt;&amp;#8216;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;test&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;&amp;#8217;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt; on the module&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt; &lt;FONT FACE=&quot;Calibri&quot;&gt;&amp;#8216;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;mymodule.py&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;&amp;#8217;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;, which is in the classpath?&amp;nbsp; Or even better, if my classpath contains a directory&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt; &lt;FONT FACE=&quot;Calibri&quot;&gt;&amp;#8216;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;my&lt;/FONT&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;package&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;&amp;#8217;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;, and the module lives insi&lt;/FONT&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;de it, how do I do:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;i&lt;/FONT&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;mpo&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;rt mypackage.mymodule&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;m&lt;/FONT&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;ypackage.&lt;/FONT&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;mymodule.test(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;&amp;#8216;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;params&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;&amp;#8217;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;through the Python API&lt;/FONT&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;?&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;Thanks,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BR&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;FONT FACE=&quot;Calibri&quot;&gt;John&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P DIR=LTR&gt;&lt;SPAN LANG=&quot;en-gb&quot;&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;BR&gt;
&lt;BR&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;This e-mail (including any attachments) is confidential, may contain
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;proprietary or privileged information and is intended for the named
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;recipient(s) only. Unintended recipients are prohibited from taking action
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;on the basis of information in this e-mail and must delete all copies.
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;Nomura will not accept responsibility or liability for the accuracy or
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;completeness of, or the presence of any virus or disabling code in, this
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;e-mail. If verification is sought please request a hard copy. Any reference
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;to the terms of executed transactions should be treated as preliminary only
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;and subject to formal written confirmation by Nomura. Nomura reserves the
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;right to monitor e-mail communications through its networks (in accordance
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;with applicable laws). No confidentiality or privilege is waived or lost by
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;Nomura by any mistransmission of this e-mail. Any reference to &quot;Nomura&quot; is
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;a reference to any entity in the Nomura Holdings, Inc. group. Please read
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;our Electronic Communications Legal Notice which forms part of this e-mail:
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=272370717-27032000&gt;http://www.Nomura.com/email_disclaimer.htm
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;

&lt;/BODY&gt;
&lt;/HTML&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26193710&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Invoking-a-function-on-a-module-tp26193710p26193710.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26193748</id>
	<title>struts like jython actions</title>
	<published>2009-11-04T01:47:38Z</published>
	<updated>2009-11-04T01:47:38Z</updated>
	<author>
		<name>Ron Chan</name>
	</author>
	<content type="html">I've put together a simple Struts like action framework by extending the VelocityViewServlet and using the JythonUberspect from here &lt;a href=&quot;http://wiki.apache.org/velocity/JythonUberspect&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/velocity/JythonUberspect&lt;/a&gt;&lt;br&gt;&lt;br&gt;Basic idea is on a call to some_page.vm it will first run some_page.py and then pass the request back to some_page.vm, with no configuration. &amp;nbsp;The locals from some_page.py are picked up and automatically made available in the Velocity context.
&lt;br&gt;&lt;br&gt;It all seems to work well, I can easily access the relevant Jython objects on the Velocity pages. &amp;nbsp;However, I had to introduce an interpreter pool, as each request needs to be made in a separate interpreter for things not to clash. &amp;nbsp;Also having to &amp;quot;clean up&amp;quot; the interpreter prior to sending it back to the pool.
&lt;br&gt;&lt;br&gt;I've since come up with another version of this, instead of executing a script each time, this one has all the Actions defined as classes. &amp;nbsp;The definition for these action classes are loaded once, and on each call I get a new instance of the class and run the execute method (just like Struts2). &amp;nbsp;The variables in the class is then made available automatically to the Velocity context. &amp;nbsp;This too seems to work well.
&lt;br&gt;&lt;br&gt;With both ways, I can now do most of the coding using Jython but still have access to all the Java tools. &amp;nbsp;For example, we use Solr a lot and the embedded solr server is started in a Jython module. &amp;nbsp;We have also started up Quartz scheduler and datasources for database the same way. &amp;nbsp;All these services are then easily available to the actions via a simple import statement.
&lt;br&gt;&lt;br&gt;My question is which way to go? &amp;nbsp;I like the first way because the action scripts are very clean, but I'm not sure about keeping a pool of interpreters. &amp;nbsp;I also like the second way because there is only one interpreter and the actions classes are compiled once until they change, but the actions in classes is not as clean as a plain script. &amp;nbsp;
&lt;br&gt;&lt;br&gt;Wonder if anyone can give input about this?
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;Ron
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26193748&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/struts-like-jython-actions-tp26193748p26193748.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26185851</id>
	<title>Re: from and with keywords</title>
	<published>2009-11-03T11:37:53Z</published>
	<updated>2009-11-03T11:37:53Z</updated>
	<author>
		<name>Jason R Briggs</name>
	</author>
	<content type="html">I didn't know that, so useful to me... ;-)
&lt;br&gt;&lt;br&gt;On 3 Nov 2009, at 16:56, Leo Soto M. wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Nov 3, 2009 at 9:17 AM, Jason R Briggs &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26185851&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jasonrbriggs@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; I think you might've misunderstood me. &amp;nbsp;You *can* use a jar with &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; the Lib
&lt;br&gt;&amp;gt;&amp;gt; dir, and as far as I'm aware site-packages is supported (someone else
&lt;br&gt;&amp;gt;&amp;gt; might be able to confirm). &amp;nbsp;All I'm saying is when you bundle it &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; inside a
&lt;br&gt;&amp;gt;&amp;gt; war file, I'm not sure how the .pth stuff will work.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Regarding site-packages, I was more questioning the necessity of &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; using it.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;That dir is used when you're providing site-wide extensions for a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; Python
&lt;br&gt;&amp;gt;&amp;gt; installation. &amp;nbsp;In this case you're bundling jython inside a war (so &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; it
&lt;br&gt;&amp;gt;&amp;gt; doesn't really fit the definition of &amp;quot;site-wide&amp;quot;) so you could &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; probably
&lt;br&gt;&amp;gt;&amp;gt; get away with including the module dir in whatever dir you're &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; storing your
&lt;br&gt;&amp;gt;&amp;gt; main jython scripts.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Not sure if relevant to the discussion (since I haven't followed it
&lt;br&gt;&amp;gt; all) but still useful information:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On WAR web deployment scenarios when the request dispatching is done
&lt;br&gt;&amp;gt; using modjy, the WEB-INF/lib-python directory will be automatically
&lt;br&gt;&amp;gt; added to the path
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Leo Soto M.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://blog.leosoto.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.leosoto.com&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26185851&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/from-and-with-keywords-tp26080572p26185851.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26182864</id>
	<title>Re: from and with keywords</title>
	<published>2009-11-03T08:56:40Z</published>
	<updated>2009-11-03T08:56:40Z</updated>
	<author>
		<name>Leo Soto M.</name>
	</author>
	<content type="html">On Tue, Nov 3, 2009 at 9:17 AM, Jason R Briggs &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26182864&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jasonrbriggs@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I think you might've misunderstood me.  You *can* use a jar with the Lib
&lt;br&gt;&amp;gt; dir, and as far as I'm aware site-packages is supported (someone else
&lt;br&gt;&amp;gt; might be able to confirm).  All I'm saying is when you bundle it inside a
&lt;br&gt;&amp;gt; war file, I'm not sure how the .pth stuff will work.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regarding site-packages, I was more questioning the necessity of using it.
&lt;br&gt;&amp;gt;  That dir is used when you're providing site-wide extensions for a Python
&lt;br&gt;&amp;gt; installation.  In this case you're bundling jython inside a war (so it
&lt;br&gt;&amp;gt; doesn't really fit the definition of &amp;quot;site-wide&amp;quot;) so you could probably
&lt;br&gt;&amp;gt; get away with including the module dir in whatever dir you're storing your
&lt;br&gt;&amp;gt; main jython scripts.
&lt;/div&gt;&lt;br&gt;Not sure if relevant to the discussion (since I haven't followed it
&lt;br&gt;all) but still useful information:
&lt;br&gt;&lt;br&gt;On WAR web deployment scenarios when the request dispatching is done
&lt;br&gt;using modjy, the WEB-INF/lib-python directory will be automatically
&lt;br&gt;added to the path
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;-- 
&lt;br&gt;Leo Soto M.
&lt;br&gt;&lt;a href=&quot;http://blog.leosoto.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.leosoto.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26182864&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/from-and-with-keywords-tp26080572p26182864.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26182504</id>
	<title>Re: BeautifulSoup is very slow with Jython</title>
	<published>2009-11-03T08:36:54Z</published>
	<updated>2009-11-03T08:36:54Z</updated>
	<author>
		<name>Larry Riedel-2</name>
	</author>
	<content type="html">What were the biggest obstacles to implementing re
&lt;br&gt;as a wrapper for java.util.regex?
&lt;br&gt;&lt;br&gt;&lt;br&gt;Larry
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26182504&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/BeautifulSoup-is-very-slow-with-Jython-tp26175497p26182504.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26181887</id>
	<title>Re: BeautifulSoup is very slow with Jython</title>
	<published>2009-11-03T07:57:11Z</published>
	<updated>2009-11-03T07:57:11Z</updated>
	<author>
		<name>Jim Baker</name>
	</author>
	<content type="html">So we looked at both java.util.regex and somewhat more seriously at the JRuby regex engine (itself a port of a C-based engine). In the latter case, Nicholas Riley saw something like 30% (as I recall it) speedup over our existing engine.&lt;div&gt;

&lt;br&gt;&lt;/div&gt;&lt;div&gt;But the semantics of the last &amp;quot;10%&amp;quot; makes it difficult.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The reality is that CPython&amp;#39;s sre is quite good. We just need to put some more resources in finetuning our port, as well as fixing any gaping holes in performance, as seems to be suggested by what we are seeing with HTMLParser. In terms of the finetuning, we know of several opportunities to speed things up, it&amp;#39;s just a question of spending some time on them.&lt;br&gt;

&lt;br&gt;&lt;/div&gt;&lt;div&gt;- Jim&lt;br&gt;&lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/3 Alex Grönholm &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alex.gronholm@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;

Eli Golovinsky kirjoitti:&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&amp;gt; Isn&amp;#39;t CPython regex implementation in C? Couldn&amp;#39;t Jython&amp;#39;s regex&lt;br&gt;
&amp;gt; implementation use the Java regular expression engine after (possibly)&lt;br&gt;
&amp;gt; some simple translation from Python syntax to Java syntax?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;/div&gt;Java&amp;#39;s regular expressions have different semantics.&lt;br&gt;
Jython&amp;#39;s REs are notoriously slow, but iirc it&amp;#39;s being worked on and I&amp;#39;d&lt;br&gt;
expect faster REs in the 2.5 line of releases already.&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&amp;gt; ---&lt;br&gt;
&amp;gt; gooli&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; 2009/11/3 Jim Baker &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jbaker@...&lt;/a&gt;&amp;gt;:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; At least the problem is in a very small part of the code (which seems to be&lt;br&gt;
&amp;gt;&amp;gt; the usual case for something so bad). The goahead, parse_starttag, and&lt;br&gt;
&amp;gt;&amp;gt; parse_endtag methods in HTMLParser all use regexes extensively, so that&lt;br&gt;
&amp;gt;&amp;gt; would be my first guess. Our regex implementation is a direct port of&lt;br&gt;
&amp;gt;&amp;gt; CPython&amp;#39;s, but it&amp;#39;s certainly possible that we have not applied the same&lt;br&gt;
&amp;gt;&amp;gt; subsequent performance optimizations for support of such things as&lt;br&gt;
&amp;gt;&amp;gt; lookahead.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; So now we need to profile a little deeper with something like YourKit to see&lt;br&gt;
&amp;gt;&amp;gt; what&amp;#39;s really happening.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; 2009/11/3 Sébastien Boisgérault &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Sebastien.Boisgerault@...&lt;/a&gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Sébastien Boisgérault a écrit :&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Eli Golovinsky a écrit :&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Hi,&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; I just tried to run BeautifulSoup (3.1.0.1) with Jython (2.5.1) and I&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; was amazed to see how much slower it was than CPython (2.6). Parsing a&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; page (&lt;a href=&quot;http://www.fixprotocol.org/specifications/fields/5000-5999&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.fixprotocol.org/specifications/fields/5000-5999&lt;/a&gt;) with&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; CPython took just under a second (0.844 second to be exact). With&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Jython it took 564 seconds - almost 700 times as much.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Can anyone confirm this result? It&amp;#39;s doesn&amp;#39;t seem reasonable for&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Jython to run 700 times slower than CPython.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; CPython is about x380 faster on my box.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; ouch ...&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; SB&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Attached below the execution profiles with CPython and Jython.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; AFAICT BeautifulSoup code performs OK with Jython (a few seconds tops&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; spent in handle_* methods), but the HTMLParser code (goahead, parse_*&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; methods) it calls is painfully slow.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; CPYTHON&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Tue Nov  3 14:24:46 2009    results&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;          903568 function calls (903519 primitive calls) in 6.512 CPU&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; seconds&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;    Ordered by: cumulative time&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;    List reduced from 137 to 20 due to restriction &amp;lt;20&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;    ncalls  tottime  percall  cumtime  percall filename:lineno(function)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.512    6.512&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; profile:0(BeautifulSoup(data))&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.512    6.512 &amp;lt;string&amp;gt;:1(&amp;lt;module&amp;gt;)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.512    6.512&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1164(__init__)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.512    6.512 BeautifulSoup.py:1236(_feed)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.512    6.512&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1495(__init__)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.484    6.484 HTMLParser.py:101(feed)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.600    0.600    6.484    6.484 HTMLParser.py:132(goahead)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     11083    0.556    0.000    3.784    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; HTMLParser.py:224(parse_starttag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     11083    0.060    0.000    2.552    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1013(handle_starttag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     11083    0.264    0.000    2.492    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1397(unknown_starttag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;      8351    0.240    0.000    1.404    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; HTMLParser.py:305(parse_endtag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;      8351    0.060    0.000    1.044    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1019(handle_endtag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;      8351    0.120    0.000    0.984    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1427(unknown_endtag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;      8349    0.484    0.000    0.912    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1351(_smartPop)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     11084    0.168    0.000    0.676    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:500(__init__)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     12420    0.276    0.000    0.604    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1329(_popToTag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     19441    0.216    0.000    0.528    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1306(endData)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     33250    0.244    0.000    0.368    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1269(isSelfClosingTag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     66134    0.344    0.000    0.344    0.000 :0(match)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;    103566    0.280    0.000    0.280    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:554(__nonzero__)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; JYTHON&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Tue Nov  3 14:31:34 2009    results&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;          383982 function calls (383944 primitive calls) in 390.007 CPU&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; seconds&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;    Ordered by: cumulative time&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;    List reduced from 97 to 20 due to restriction &amp;lt;20&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;    ncalls  tottime  percall  cumtime  percall filename:lineno(function)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.003    0.003  390.007  390.007&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; profile:0(BeautifulSoup(data))&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.000    0.000  390.004  390.004 &amp;lt;string&amp;gt;:0(&amp;lt;module&amp;gt;)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.000    0.000  390.004  390.004&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1495(__init__)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.000    0.000  390.004  390.004&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1164(__init__)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.372    0.372  390.003  390.003 BeautifulSoup.py:1236(_feed)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1    0.000    0.000  389.553  389.553 HTMLParser.py:101(feed)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         1  159.714  159.714  389.552  389.552 HTMLParser.py:132(goahead)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     11083  112.086    0.010  159.921    0.014&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; HTMLParser.py:224(parse_starttag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;      8351   68.361    0.008   69.394    0.008&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; HTMLParser.py:305(parse_endtag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     11083   45.443    0.004   45.443    0.004&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; HTMLParser.py:275(check_for_whole_start_tag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     11083    0.084    0.000    2.363    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1013(handle_starttag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     11083    0.536    0.000    2.278    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1397(unknown_starttag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;      8351    0.051    0.000    1.009    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1019(handle_endtag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;      8351    0.077    0.000    0.958    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1427(unknown_endtag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     19441    0.438    0.000    0.761    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1306(endData)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     11084    0.374    0.000    0.726    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:500(__init__)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;      8349    0.498    0.000    0.630    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1351(_smartPop)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     38924    0.435    0.000    0.435    0.000 markupbase.py:49(updatepos)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     12420    0.251    0.000    0.334    0.000&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1329(_popToTag)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     17252    0.220    0.000    0.245    0.000 BeautifulSoup.py:118(setup)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Perhaps something is&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; wrong with my setup.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Here&amp;#39;s the code I used:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; import time&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; from BeautifulSoup import BeautifulSoup&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; data = open(&amp;quot;fix-5000-5999.html&amp;quot;).read()&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; start = time.time()&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; soup = BeautifulSoup(data)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; print time.time() - start&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; ---&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; gooli&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; Jim Baker&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jbaker@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; ------------------------------------------------------------------------------&lt;br&gt;
&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA&lt;br&gt;
&amp;gt; is the only developer event you need to attend this year. Jumpstart your&lt;br&gt;
&amp;gt; developing skills, take BlackBerry mobile applications to market and stay&lt;br&gt;
&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;
&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt; Jython-users mailing list&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
------------------------------------------------------------------------------&lt;br&gt;
Come build with us! The BlackBerry(R) Developer Conference in SF, CA&lt;br&gt;
is the only developer event you need to attend this year. Jumpstart your&lt;br&gt;
developing skills, take BlackBerry mobile applications to market and stay&lt;br&gt;
ahead of the curve. Join us from November 9 - 12, 2009. Register now!&lt;br&gt;
&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Jython-users mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Jim Baker&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jbaker@...&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181887&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/BeautifulSoup-is-very-slow-with-Jython-tp26175497p26181887.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26181637</id>
	<title>Re: BeautifulSoup is very slow with Jython</title>
	<published>2009-11-03T07:40:13Z</published>
	<updated>2009-11-03T07:40:13Z</updated>
	<author>
		<name>Alex Grönholm-3</name>
	</author>
	<content type="html">Eli Golovinsky kirjoitti:
&lt;br&gt;&amp;gt; Isn't CPython regex implementation in C? Couldn't Jython's regex
&lt;br&gt;&amp;gt; implementation use the Java regular expression engine after (possibly)
&lt;br&gt;&amp;gt; some simple translation from Python syntax to Java syntax?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;Java's regular expressions have different semantics.
&lt;br&gt;Jython's REs are notoriously slow, but iirc it's being worked on and I'd 
&lt;br&gt;expect faster REs in the 2.5 line of releases already.
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; ---
&lt;br&gt;&amp;gt; gooli
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2009/11/3 Jim Baker &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181637&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jbaker@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; At least the problem is in a very small part of the code (which seems to be
&lt;br&gt;&amp;gt;&amp;gt; the usual case for something so bad). The goahead, parse_starttag, and
&lt;br&gt;&amp;gt;&amp;gt; parse_endtag methods in HTMLParser all use regexes extensively, so that
&lt;br&gt;&amp;gt;&amp;gt; would be my first guess. Our regex implementation is a direct port of
&lt;br&gt;&amp;gt;&amp;gt; CPython's, but it's certainly possible that we have not applied the same
&lt;br&gt;&amp;gt;&amp;gt; subsequent performance optimizations for support of such things as
&lt;br&gt;&amp;gt;&amp;gt; lookahead.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; So now we need to profile a little deeper with something like YourKit to see
&lt;br&gt;&amp;gt;&amp;gt; what's really happening.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2009/11/3 Sébastien Boisgérault &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181637&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Sebastien.Boisgerault@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Sébastien Boisgérault a écrit :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Eli Golovinsky a écrit :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I just tried to run BeautifulSoup (3.1.0.1) with Jython (2.5.1) and I
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; was amazed to see how much slower it was than CPython (2.6). Parsing a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; page (&lt;a href=&quot;http://www.fixprotocol.org/specifications/fields/5000-5999&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.fixprotocol.org/specifications/fields/5000-5999&lt;/a&gt;) with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; CPython took just under a second (0.844 second to be exact). With
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jython it took 564 seconds - almost 700 times as much.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Can anyone confirm this result? It's doesn't seem reasonable for
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jython to run 700 times slower than CPython.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; CPython is about x380 faster on my box.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ouch ...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; SB
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Attached below the execution profiles with CPython and Jython.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; AFAICT BeautifulSoup code performs OK with Jython (a few seconds tops
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; spent in handle_* methods), but the HTMLParser code (goahead, parse_*
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; methods) it calls is painfully slow.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; CPYTHON
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Tue Nov &amp;nbsp;3 14:24:46 2009 &amp;nbsp; &amp;nbsp;results
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;903568 function calls (903519 primitive calls) in 6.512 CPU
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; seconds
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;Ordered by: cumulative time
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;List reduced from 137 to 20 due to restriction &amp;lt;20&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;ncalls &amp;nbsp;tottime &amp;nbsp;percall &amp;nbsp;cumtime &amp;nbsp;percall filename:lineno(function)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;6.512 &amp;nbsp; &amp;nbsp;6.512
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; profile:0(BeautifulSoup(data))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;6.512 &amp;nbsp; &amp;nbsp;6.512 &amp;lt;string&amp;gt;:1(&amp;lt;module&amp;gt;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;6.512 &amp;nbsp; &amp;nbsp;6.512
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1164(__init__)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;6.512 &amp;nbsp; &amp;nbsp;6.512 BeautifulSoup.py:1236(_feed)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;6.512 &amp;nbsp; &amp;nbsp;6.512
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1495(__init__)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;6.484 &amp;nbsp; &amp;nbsp;6.484 HTMLParser.py:101(feed)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.600 &amp;nbsp; &amp;nbsp;0.600 &amp;nbsp; &amp;nbsp;6.484 &amp;nbsp; &amp;nbsp;6.484 HTMLParser.py:132(goahead)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 11083 &amp;nbsp; &amp;nbsp;0.556 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;3.784 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; HTMLParser.py:224(parse_starttag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 11083 &amp;nbsp; &amp;nbsp;0.060 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;2.552 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1013(handle_starttag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 11083 &amp;nbsp; &amp;nbsp;0.264 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;2.492 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1397(unknown_starttag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;8351 &amp;nbsp; &amp;nbsp;0.240 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;1.404 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; HTMLParser.py:305(parse_endtag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;8351 &amp;nbsp; &amp;nbsp;0.060 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;1.044 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1019(handle_endtag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;8351 &amp;nbsp; &amp;nbsp;0.120 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.984 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1427(unknown_endtag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;8349 &amp;nbsp; &amp;nbsp;0.484 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.912 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1351(_smartPop)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 11084 &amp;nbsp; &amp;nbsp;0.168 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.676 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:500(__init__)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 12420 &amp;nbsp; &amp;nbsp;0.276 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.604 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1329(_popToTag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 19441 &amp;nbsp; &amp;nbsp;0.216 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.528 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1306(endData)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 33250 &amp;nbsp; &amp;nbsp;0.244 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.368 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1269(isSelfClosingTag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 66134 &amp;nbsp; &amp;nbsp;0.344 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.344 &amp;nbsp; &amp;nbsp;0.000 :0(match)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;103566 &amp;nbsp; &amp;nbsp;0.280 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.280 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:554(__nonzero__)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; JYTHON
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Tue Nov &amp;nbsp;3 14:31:34 2009 &amp;nbsp; &amp;nbsp;results
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;383982 function calls (383944 primitive calls) in 390.007 CPU
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; seconds
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;Ordered by: cumulative time
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;List reduced from 97 to 20 due to restriction &amp;lt;20&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;ncalls &amp;nbsp;tottime &amp;nbsp;percall &amp;nbsp;cumtime &amp;nbsp;percall filename:lineno(function)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.003 &amp;nbsp; &amp;nbsp;0.003 &amp;nbsp;390.007 &amp;nbsp;390.007
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; profile:0(BeautifulSoup(data))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp;390.004 &amp;nbsp;390.004 &amp;lt;string&amp;gt;:0(&amp;lt;module&amp;gt;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp;390.004 &amp;nbsp;390.004
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1495(__init__)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp;390.004 &amp;nbsp;390.004
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1164(__init__)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.372 &amp;nbsp; &amp;nbsp;0.372 &amp;nbsp;390.003 &amp;nbsp;390.003 BeautifulSoup.py:1236(_feed)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp;389.553 &amp;nbsp;389.553 HTMLParser.py:101(feed)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;159.714 &amp;nbsp;159.714 &amp;nbsp;389.552 &amp;nbsp;389.552 HTMLParser.py:132(goahead)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 11083 &amp;nbsp;112.086 &amp;nbsp; &amp;nbsp;0.010 &amp;nbsp;159.921 &amp;nbsp; &amp;nbsp;0.014
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; HTMLParser.py:224(parse_starttag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;8351 &amp;nbsp; 68.361 &amp;nbsp; &amp;nbsp;0.008 &amp;nbsp; 69.394 &amp;nbsp; &amp;nbsp;0.008
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; HTMLParser.py:305(parse_endtag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 11083 &amp;nbsp; 45.443 &amp;nbsp; &amp;nbsp;0.004 &amp;nbsp; 45.443 &amp;nbsp; &amp;nbsp;0.004
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; HTMLParser.py:275(check_for_whole_start_tag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 11083 &amp;nbsp; &amp;nbsp;0.084 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;2.363 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1013(handle_starttag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 11083 &amp;nbsp; &amp;nbsp;0.536 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;2.278 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1397(unknown_starttag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;8351 &amp;nbsp; &amp;nbsp;0.051 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;1.009 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1019(handle_endtag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;8351 &amp;nbsp; &amp;nbsp;0.077 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.958 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1427(unknown_endtag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 19441 &amp;nbsp; &amp;nbsp;0.438 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.761 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1306(endData)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 11084 &amp;nbsp; &amp;nbsp;0.374 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.726 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:500(__init__)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;8349 &amp;nbsp; &amp;nbsp;0.498 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.630 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1351(_smartPop)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 38924 &amp;nbsp; &amp;nbsp;0.435 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.435 &amp;nbsp; &amp;nbsp;0.000 markupbase.py:49(updatepos)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 12420 &amp;nbsp; &amp;nbsp;0.251 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.334 &amp;nbsp; &amp;nbsp;0.000
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BeautifulSoup.py:1329(_popToTag)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 17252 &amp;nbsp; &amp;nbsp;0.220 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.245 &amp;nbsp; &amp;nbsp;0.000 BeautifulSoup.py:118(setup)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Perhaps something is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; wrong with my setup.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Here's the code I used:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; import time
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; from BeautifulSoup import BeautifulSoup
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; data = open(&amp;quot;fix-5000-5999.html&amp;quot;).read()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; start = time.time()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; soup = BeautifulSoup(data)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; print time.time() - start
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; gooli
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181637&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181637&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181637&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; Jim Baker
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181637&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jbaker@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181637&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181637&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/BeautifulSoup-is-very-slow-with-Jython-tp26175497p26181637.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26181114</id>
	<title>Re: BeautifulSoup is very slow with Jython</title>
	<published>2009-11-03T07:07:07Z</published>
	<updated>2009-11-03T07:07:07Z</updated>
	<author>
		<name>gooli</name>
	</author>
	<content type="html">Isn't CPython regex implementation in C? Couldn't Jython's regex
&lt;br&gt;implementation use the Java regular expression engine after (possibly)
&lt;br&gt;some simple translation from Python syntax to Java syntax?
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;gooli
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;2009/11/3 Jim Baker &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181114&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jbaker@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; At least the problem is in a very small part of the code (which seems to be
&lt;br&gt;&amp;gt; the usual case for something so bad). The goahead, parse_starttag, and
&lt;br&gt;&amp;gt; parse_endtag methods in HTMLParser all use regexes extensively, so that
&lt;br&gt;&amp;gt; would be my first guess. Our regex implementation is a direct port of
&lt;br&gt;&amp;gt; CPython's, but it's certainly possible that we have not applied the same
&lt;br&gt;&amp;gt; subsequent performance optimizations for support of such things as
&lt;br&gt;&amp;gt; lookahead.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So now we need to profile a little deeper with something like YourKit to see
&lt;br&gt;&amp;gt; what's really happening.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2009/11/3 Sébastien Boisgérault &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181114&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Sebastien.Boisgerault@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sébastien Boisgérault a écrit :
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Eli Golovinsky a écrit :
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I just tried to run BeautifulSoup (3.1.0.1) with Jython (2.5.1) and I
&lt;br&gt;&amp;gt;&amp;gt; was amazed to see how much slower it was than CPython (2.6). Parsing a
&lt;br&gt;&amp;gt;&amp;gt; page (&lt;a href=&quot;http://www.fixprotocol.org/specifications/fields/5000-5999&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.fixprotocol.org/specifications/fields/5000-5999&lt;/a&gt;) with
&lt;br&gt;&amp;gt;&amp;gt; CPython took just under a second (0.844 second to be exact). With
&lt;br&gt;&amp;gt;&amp;gt; Jython it took 564 seconds - almost 700 times as much.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Can anyone confirm this result? It's doesn't seem reasonable for
&lt;br&gt;&amp;gt;&amp;gt; Jython to run 700 times slower than CPython.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; CPython is about x380 faster on my box.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ouch ...
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; SB
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Attached below the execution profiles with CPython and Jython.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; AFAICT BeautifulSoup code performs OK with Jython (a few seconds tops
&lt;br&gt;&amp;gt;&amp;gt; spent in handle_* methods), but the HTMLParser code (goahead, parse_*
&lt;br&gt;&amp;gt;&amp;gt; methods) it calls is painfully slow.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; CPYTHON
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Tue Nov  3 14:24:46 2009    results
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;          903568 function calls (903519 primitive calls) in 6.512 CPU
&lt;br&gt;&amp;gt;&amp;gt; seconds
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;    Ordered by: cumulative time
&lt;br&gt;&amp;gt;&amp;gt;    List reduced from 137 to 20 due to restriction &amp;lt;20&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.512    6.512
&lt;br&gt;&amp;gt;&amp;gt; profile:0(BeautifulSoup(data))
&lt;br&gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.512    6.512 &amp;lt;string&amp;gt;:1(&amp;lt;module&amp;gt;)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.512    6.512
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1164(__init__)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.512    6.512 BeautifulSoup.py:1236(_feed)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.512    6.512
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1495(__init__)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.000    0.000    6.484    6.484 HTMLParser.py:101(feed)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.600    0.600    6.484    6.484 HTMLParser.py:132(goahead)
&lt;br&gt;&amp;gt;&amp;gt;     11083    0.556    0.000    3.784    0.000
&lt;br&gt;&amp;gt;&amp;gt; HTMLParser.py:224(parse_starttag)
&lt;br&gt;&amp;gt;&amp;gt;     11083    0.060    0.000    2.552    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1013(handle_starttag)
&lt;br&gt;&amp;gt;&amp;gt;     11083    0.264    0.000    2.492    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1397(unknown_starttag)
&lt;br&gt;&amp;gt;&amp;gt;      8351    0.240    0.000    1.404    0.000
&lt;br&gt;&amp;gt;&amp;gt; HTMLParser.py:305(parse_endtag)
&lt;br&gt;&amp;gt;&amp;gt;      8351    0.060    0.000    1.044    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1019(handle_endtag)
&lt;br&gt;&amp;gt;&amp;gt;      8351    0.120    0.000    0.984    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1427(unknown_endtag)
&lt;br&gt;&amp;gt;&amp;gt;      8349    0.484    0.000    0.912    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1351(_smartPop)
&lt;br&gt;&amp;gt;&amp;gt;     11084    0.168    0.000    0.676    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:500(__init__)
&lt;br&gt;&amp;gt;&amp;gt;     12420    0.276    0.000    0.604    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1329(_popToTag)
&lt;br&gt;&amp;gt;&amp;gt;     19441    0.216    0.000    0.528    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1306(endData)
&lt;br&gt;&amp;gt;&amp;gt;     33250    0.244    0.000    0.368    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1269(isSelfClosingTag)
&lt;br&gt;&amp;gt;&amp;gt;     66134    0.344    0.000    0.344    0.000 :0(match)
&lt;br&gt;&amp;gt;&amp;gt;    103566    0.280    0.000    0.280    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:554(__nonzero__)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; JYTHON
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Tue Nov  3 14:31:34 2009    results
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;          383982 function calls (383944 primitive calls) in 390.007 CPU
&lt;br&gt;&amp;gt;&amp;gt; seconds
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;    Ordered by: cumulative time
&lt;br&gt;&amp;gt;&amp;gt;    List reduced from 97 to 20 due to restriction &amp;lt;20&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.003    0.003  390.007  390.007
&lt;br&gt;&amp;gt;&amp;gt; profile:0(BeautifulSoup(data))
&lt;br&gt;&amp;gt;&amp;gt;         1    0.000    0.000  390.004  390.004 &amp;lt;string&amp;gt;:0(&amp;lt;module&amp;gt;)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.000    0.000  390.004  390.004
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1495(__init__)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.000    0.000  390.004  390.004
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1164(__init__)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.372    0.372  390.003  390.003 BeautifulSoup.py:1236(_feed)
&lt;br&gt;&amp;gt;&amp;gt;         1    0.000    0.000  389.553  389.553 HTMLParser.py:101(feed)
&lt;br&gt;&amp;gt;&amp;gt;         1  159.714  159.714  389.552  389.552 HTMLParser.py:132(goahead)
&lt;br&gt;&amp;gt;&amp;gt;     11083  112.086    0.010  159.921    0.014
&lt;br&gt;&amp;gt;&amp;gt; HTMLParser.py:224(parse_starttag)
&lt;br&gt;&amp;gt;&amp;gt;      8351   68.361    0.008   69.394    0.008
&lt;br&gt;&amp;gt;&amp;gt; HTMLParser.py:305(parse_endtag)
&lt;br&gt;&amp;gt;&amp;gt;     11083   45.443    0.004   45.443    0.004
&lt;br&gt;&amp;gt;&amp;gt; HTMLParser.py:275(check_for_whole_start_tag)
&lt;br&gt;&amp;gt;&amp;gt;     11083    0.084    0.000    2.363    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1013(handle_starttag)
&lt;br&gt;&amp;gt;&amp;gt;     11083    0.536    0.000    2.278    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1397(unknown_starttag)
&lt;br&gt;&amp;gt;&amp;gt;      8351    0.051    0.000    1.009    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1019(handle_endtag)
&lt;br&gt;&amp;gt;&amp;gt;      8351    0.077    0.000    0.958    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1427(unknown_endtag)
&lt;br&gt;&amp;gt;&amp;gt;     19441    0.438    0.000    0.761    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1306(endData)
&lt;br&gt;&amp;gt;&amp;gt;     11084    0.374    0.000    0.726    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:500(__init__)
&lt;br&gt;&amp;gt;&amp;gt;      8349    0.498    0.000    0.630    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1351(_smartPop)
&lt;br&gt;&amp;gt;&amp;gt;     38924    0.435    0.000    0.435    0.000 markupbase.py:49(updatepos)
&lt;br&gt;&amp;gt;&amp;gt;     12420    0.251    0.000    0.334    0.000
&lt;br&gt;&amp;gt;&amp;gt; BeautifulSoup.py:1329(_popToTag)
&lt;br&gt;&amp;gt;&amp;gt;     17252    0.220    0.000    0.245    0.000 BeautifulSoup.py:118(setup)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Perhaps something is
&lt;br&gt;&amp;gt;&amp;gt; wrong with my setup.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Here's the code I used:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; import time
&lt;br&gt;&amp;gt;&amp;gt; from BeautifulSoup import BeautifulSoup
&lt;br&gt;&amp;gt;&amp;gt; data = open(&amp;quot;fix-5000-5999.html&amp;quot;).read()
&lt;br&gt;&amp;gt;&amp;gt; start = time.time()
&lt;br&gt;&amp;gt;&amp;gt; soup = BeautifulSoup(data)
&lt;br&gt;&amp;gt;&amp;gt; print time.time() - start
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt;&amp;gt; gooli
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay
&lt;br&gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181114&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay
&lt;br&gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181114&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay
&lt;br&gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Jython-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181114&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Jim Baker
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181114&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jbaker@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jython-users mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26181114&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jython-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jython-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jython-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/BeautifulSoup-is-very-slow-with-Jython-tp26175497p26181114.html" />
</entry>

</feed>
