[IPython-User] Advice on using a prefilter
Matthias BUSSONNIER
bussonniermatthias@gmail....
Tue Aug 7 15:43:59 CDT 2012
Le 7 août 2012 à 22:35, Aaron Meurer a écrit :
> Yeah, I came to the same conclusion (see my previous message). The
> API really needs to give the user the whole cell. The line-by-line
> API should be deprecated (or removed; I don't know how you guys tend
> to handle such things). The same thing is easy enough to get from the
> cell with .split("\n") if you really want it (and the user should
> probably be discouraged from doing so anyway, because the chances that
> you will get things wrong with line continuations is pretty high).
>
> In the meanwhile, any recommendations on how I should proceed? I see
> myself with the following options:
>
> - Use the existing prefilter API, and live with the fact that
> multiline statements won't be changed.
>
> - Monkey-patch run_cell. It's obviously not clean (to say the least),
> but it should fulfill my needs completely.
>
> - Don't do anything; wait until you guys have a better API to work with.
If you can come up with a good API and a pull request which works and is merged
you'll have your solution :-)
--
Matthias
>
> Any suggestions? Is monkey-patching run_cell going to be as evil as it sounds?
>
> Aaron Meurer
>
> On Tue, Aug 7, 2012 at 5:14 AM, Thomas Kluyver <takowl@gmail.com> wrote:
>> On 7 August 2012 05:47, Aaron Meurer <asmeurer@gmail.com> wrote:
>>>> Yes, that would be due to this bit of code:
>>>> https://github.com/ipython/ipython/blob/master/IPython/core/interactiveshell.py#L2593
>>>
>>> So can this if statement be removed?
>>
>> Not trivially. The difficulty is that the context from previous lines
>> might affect whether something should be transformed - e.g. we mustn't
>> transform a line that's inside a string. And we need to be careful
>> about things like this:
>>
>> In [1]: 5 \
>> ...: % 2
>> Out[1]: 1
>>
>> Again, apologies that this API hasn't been better maintained.
>>
>> Best wishes,
>> Thomas
>> _______________________________________________
>> IPython-User mailing list
>> IPython-User@scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-user
> _______________________________________________
> IPython-User mailing list
> IPython-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-user
More information about the IPython-User
mailing list