<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Comic Sans MS";
        panose-1:3 15 7 2 3 3 2 2 2 4;}
@font-face
        {font-family:Ubuntu;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=white lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>Christopher:<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>I suspect that I can simply code an entire actor extending the respective classes directly in Jython.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>That is what I am thinking.  Please let me know what you think of this strategy.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>Of course, while I do this, I want to migrate a Kepler development tree to use Jython 2.5.2, which I will need your assistance in completing.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>Let’s talk on the phone on Monday.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>Regards, Marc<o:p></o:p></span></p><div><p class=MsoNormal><u><span style='font-size:14.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>J. Marc Edwards, Lead Architect</span></u><span style='font-size:14.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><i><span style='font-family:"Calibri","sans-serif";color:#002060'>Semiconductor Design Portals<o:p></o:p></span></i></p><p class=MsoNormal><b><span style='font-size:14.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Nimbis Services, Inc.<o:p></o:p></span></b></p><p class=MsoNormal><span style='font-family:"Courier New";color:#1F497D'>Cell  - (919) 345-1021<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New";color:#1F497D'>Fax   - (919) 882-8602<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New";color:#1F497D'>Skype - (919) 747-3775<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#C00000'>jmarcedwards@gmail.com<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#C00000'>marc.edwards@nimbisservices.com<o:p></o:p></span></p></div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> Christopher Brooks [mailto:cxh@eecs.berkeley.edu] <br><b>Sent:</b> Friday, November 04, 2011 9:00 PM<br><b>To:</b> marc.edwards@nimbisservices.com<br><b>Cc:</b> kepler-users@kepler-project.org<br><b>Subject:</b> Re: [kepler-users] Python execution within the Kepler Python actor...<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi Marc,<br><br>On 11/4/11 2:09 PM, J. Marc Edwards wrote: <o:p></o:p></p><p class=MsoNormal>I need a little help in integrating my Jython/Python code into the Python actor.<br><br>When I double-click on the Python actor in the PythonDialogExample, a window with the Python code appears.  I can of course edit the code from within this window.  However, I want to perform my code development and editing from within my Eclipse environment from my Kepler development build.<o:p></o:p></p><p class=MsoNormal>I don't know that much about Python, but I believe that you could use the Python import facility to find imports.<br>I just added text to the Kepler Jython page about this, see:<br><a href="https://kepler-project.org/developers/reference/python-and-kepler#how-jython-finds-imports">https://kepler-project.org/developers/reference/python-and-kepler#how-jython-finds-imports</a><br><br>Note that I found a few other references on the web, included what appears to be people who are using the full version of Python (not Jython) with Kepler.<br><br><o:p></o:p></p><p class=MsoNormal>When I "open the actor", the beginning of the file has some Javadoc as well as what appear to be some unmatched XML elements (<p>), along with some matching XML element tags (</pre>) (does this correspond to some pre-fire method?).<o:p></o:p></p><p class=MsoNormal>When you open the actor, you are seeing the Java code that implements the PythonActor.  The <p> tags are html tags used in the javadoc comments of the Java file.  All of the instances of the PythonActor share the same Java code, but may have different Python code.<br><br><o:p></o:p></p><p class=MsoNormal>After this all of the Java code for the actor follows with the standard initialize(), stop(), stopFire(), preinitialize(), terminate(), etc, methods.<br><br>I do see in the Java code where there is a PythonScript method that accepts a CompositeEntity where a script template is provided where I am supposing a long Python string in the script.setExpression is defined.<br><br>However, what I would like to do is simply include my Jython module within my Kepler build and debug my Jython code in connection with my overall workflow.<br><br>Can someone tell me how to go about achieving this objective?<o:p></o:p></p><p class=MsoNormal>It looks like Jython uses sys.path to find imports.  I included a Ptolemy II model that opens in the devel version of Kepler that lists the contents of sys.path.  For further information about sys.path, see<br><br><a href="http://jythonpodcast.hostjava.net/jythonbook/en/1.0/ModulesPackages.html">http://jythonpodcast.hostjava.net/jythonbook/en/1.0/ModulesPackages.html</a><br><br>_Christopher<br><br><o:p></o:p></p><p class=MsoNormal><br>Thanks, Marc<o:p></o:p></p><div><p class=MsoNormal>-- <br><br><o:p></o:p></p><p><span style='font-size:13.0pt;font-family:"Comic Sans MS";color:purple'>J. Marc Edwards</span><span style='font-family:"Comic Sans MS"'><br>Lead Architect - Semiconductor Design Portals</span><br><span style='font-size:13.5pt;font-family:"Arial","sans-serif";color:#3333FF'>Nimbis Services, Inc.</span><br><span style='font-family:"Courier New"'>Skype: (919) 747-3775<br>Cell:  (919) 345-1021<br>Fax:   (919) 882-8602</span><br><span style='font-family:"Ubuntu","serif"'><a href="mailto:marc.edwards@nimbisservices.com">marc.edwards@nimbisservices.com</a><br><a href="http://www.nimbisservices.com">www.nimbisservices.com</a></span><o:p></o:p></p></div><p class=MsoNormal><br><br><br><o:p></o:p></p><pre>_______________________________________________<o:p></o:p></pre><pre>Kepler-users mailing list<o:p></o:p></pre><pre><a href="mailto:Kepler-users@kepler-project.org">Kepler-users@kepler-project.org</a><o:p></o:p></pre><pre><a href="http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users">http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users</a><o:p></o:p></pre><p class=MsoNormal><br><br><o:p></o:p></p><pre>-- <o:p></o:p></pre><pre>Christopher Brooks, PMP                       University of California<o:p></o:p></pre><pre>CHESS Executive Director                      US Mail: 337 Cory Hall<o:p></o:p></pre><pre>Programmer/Analyst CHESS/Ptolemy/Trust        Berkeley, CA 94720-1774<o:p></o:p></pre><pre>ph: 510.643.9841                                (Office: 545Q Cory)<o:p></o:p></pre><pre>home: (F-Tu) 707.665.0131 cell: 707.332.0670 <o:p></o:p></pre></div></body></html>