<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=utf-8">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@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;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
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:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:1852255987;
        mso-list-template-ids:-802527680;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</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 lang=FR link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Hi Ronen,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Happy to see you’ve tried to hack the editra plugin&nbsp;;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>IPyShell/__init__.py contains only the interface with editra. <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>I do not cleanly understand the step your are trying to do. You’ve
used ” %ed” than it launched editra new source panel? And closing it executed
your code, but stdin/out goes outside ipython shell?<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Is that what you tried?<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>About the files to modify. __init__.py in editra plugn is the definition
of the plugin interface and how you interact with editra.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Ipython dir is a pure copy that I was used to upload from time
to time. I have to take a look at some updates that cody did. (some
compatibility issue with python 2.6 and ipython tree)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>The fact is that the update you’re currently trying to di will
surely need some update into /gui/wx I think </span><span lang=EN-US
style='font-size:11.0pt;font-family:Wingdings;color:#1F497D'>L</span><span
lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>. But well we’ll see.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Depending on what you’ll want to do we will perhaps expose some
methods so plugin will be able to configure the things you need. (ex being able
to define an editor)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>(I think we can use ipython config file but I’ve never used them
since then so…)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>I will try to upload updated sources for python tree tomorrow,
so you’ll have a bleeding edge wx integration. I’ve corrected some bugs since
then.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Sure we will find a way to workaround the stdin/out issue you
saw.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Send me your current hack, I’ll take a look at your issue.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Cheers,<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Laurent<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>De&nbsp;:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> ipython-dev-bounces@scipy.org
[mailto:ipython-dev-bounces@scipy.org] <b>De la part de</b> Ronen Abravanel<br>
<b>Envoyé&nbsp;:</b> samedi 28 février 2009 22:53<br>
<b>À&nbsp;:</b> ipython-dev@scipy.org<br>
<b>Objet&nbsp;:</b> [IPython-dev] Ipython plugin for Editra<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<div>

<p class=MsoNormal><span lang=EN-US>Editra, an extensible programmer's editor
written in wxPython, contain a cool IPython plugin. </span>This mail is a
follow up for a discussion with <cite>Laurent</cite> , The author of the
plugin, in his blog, continue here according to his request. The Orginal
discassion can be found in <a
href="http://ipython0.wordpress.com/2008/04/25/editra-ipython-plugin-under-work/">http://ipython0.wordpress.com/2008/04/25/editra-ipython-plugin-under-work/</a>
or at the end of this mail.<br>
<br>
<br>
Using papi to set\redefine IPython's magic word partly do the job, The other
part is to execute some arbitrary python code inside The ipython shell.
Invoking papis &quot;ex&quot; method (Using papi from <i>ipython_panel.IP._IP.getapi()
</i>) let the Code run in IPython's context, but the output is printed to
Editra's stdout (The console in wich I invoked editra's from) and not in the
IPython in the shelf.&nbsp; My attempts to set sys.stdout to an handler from,
let say, _term.cout or others, cused IPython to stack. futher more, the
Exeption throws while I call ip.ex, is cought within Editra and withn IPython.<br>
<br>
<span lang=EN-US>Further more - I wish to change, If I can, Only
IPyShell/__init__.py and not the stuff in &quot;IPython&quot; dir, as it seems
as a &quot;pure&quot; copy of IPython's orginal source (is it?)<br>
<br>
<br>
Thanks,<br>
Ronen.<br>
<br>
<br>
</span>--------------------------------------<br>
The orginal discassion:<o:p></o:p></p>

<ol start=1 type=1>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1' id=comment-25><cite>Ronen</cite> Says: <br>
     <span style='font-size:10.0pt'><a
     href="http://ipython0.wordpress.com/2008/04/25/editra-ipython-plugin-under-work/#comment-25"
     title="">February 21, 2009 at 8:18 pm</a> </span><o:p></o:p></li>
</ol>

<p style='margin-left:36.0pt'>That’s a one cool Plugin.<o:p></o:p></p>

<p style='margin-left:36.0pt'>What will make it ideal, is better integration
with Editra’s Editor:<br>
Make ipython’s %edit Open the edit-buffer in Editra’s current Windows, and
Enable poeple to run The code they edit in Editra inside the open IPython
windows…<br>
Any hint where should I try to hack in order to achieve those? <o:p></o:p></p>

<p style='margin-left:36.0pt'>Thanks,<br>
Ronen.<o:p></o:p></p>

<ol start=2 type=1>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1' id=comment-26><img border=0 width=32 height=32
     id="_x0000_i1037"
     src="http://1.gravatar.com/avatar/7d4c274b8ecba154d3ee55838145bb23?s=32&amp;d=identicon"><cite>Laurent</cite>
     Says: <br>
     <span style='font-size:10.0pt'><a
     href="http://ipython0.wordpress.com/2008/04/25/editra-ipython-plugin-under-work/#comment-26"
     title="">February 22, 2009 at 10:45 am</a> </span><o:p></o:p></li>
</ol>

<p style='margin-left:36.0pt'>Hello,<br>
You can have access to the plugin repos:<o:p></o:p></p>

<p style='margin-left:36.0pt'># Non-members may check out a read-only working
copy anonymously over HTTP.<br>
svn checkout <a href="http://editra-plugins.googlecode.com/svn/trunk/">http://editra-plugins.googlecode.com/svn/trunk/</a>
editra-plugins-read-only <o:p></o:p></p>

<p style='margin-left:36.0pt'>The plugin name is ipyshell, in it’s directory
you’ve got the whole ipython source + the plugin source.<o:p></o:p></p>

<p style='margin-left:36.0pt'><span lang=EN-US>It need a little refresh for
sure </span><img border=0 id="_x0000_i1038"
src="http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif" alt=":)"><span
lang=EN-US>.<o:p></o:p></span></p>

<p style='margin-left:36.0pt'>If you want to try to hack it take a look
@Ipython/gui/wx the whole code is in ipython_view and ipshellnonblocking.<o:p></o:p></p>

<p style='margin-left:36.0pt'>ipython_view -&gt; gui interface<br>
ipshellnonblocking -&gt; the interface with ipython<o:p></o:p></p>

<p style='margin-left:36.0pt'>You can add:<br>
ip = IPython.ipapi.get()<br>
def myEdit(self, arg):<br>
print ‘do what you want’<br>
ip.expose_magic(’edit’, myEdit)<o:p></o:p></p>

<p style='margin-left:36.0pt'>to WxNonBlockingIPShell inside ipython_view.py<o:p></o:p></p>

<p style='margin-left:36.0pt'>Please note that if ipython is ever installed on
your system you’ll have to make a eggsetup.py develop to make sure to use your
new local copy.<o:p></o:p></p>

<p style='margin-left:36.0pt'><span lang=EN-US>We can discuss about all of this
in ipython-dev mailing list </span><img border=0 id="_x0000_i1039"
src="http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif" alt=":)"><span
lang=EN-US><o:p></o:p></span></p>

<p style='margin-left:36.0pt'>Cheers,<br>
Laurent<o:p></o:p></p>

<p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>

</div>

</div>

</div>

</body>

</html>