IPython 2.x+ has a JSON response when creating a new notebook. We detect
this and correctly parse the info so we can open a buffer with the newly
created notebook.
Also more updating of test code.
More conditional code for saving notebooks in nbformat v4.0.
`prompt_number` is no longer a valid property so it has to be corrected
to be `execution_count` instead.
Not sure if we need to do this, or what purpose it might serve, but
seems more appropriate than sending a kernel_info_request when opening
websocket channels.
Also make message handler kernel inactive error messages more
informative.
There is a nasty mismatch between internal representation of cell
outputs in ein and for cell outputs in notebook v4.
The current solution is less than elegant, but seems to work. Need more
testing!
Renaming notebooks should work a bit better now, tweaked code for saving
nbformat v4 to correctly include execution_count parameter even if cell
has not been executed.
Cleaned up some silliness in ein:query-singleton-ajax.
BEWARE! This is a large commit and the code here is still mostly
untested. Back up your notebooks before giving this changeset a try with
the current IPython-dev version.
Given that, ein is now able to open and save basic notebooks saved in
nbformat 4. Still haven't tested more complex notebooks with embedded
images.
Progressing back towards having automated testing via travis. Updated
contact info for ein:dev-bug-report-template and updated requirements in
README.rst.
Maybe, just maybe ein now works under both IPython 2.x and IPython 3.0
(or what is the development version as of this commit). And by works I
mean open, closing, saving notebooks and communicating with the IPython
kernel. It is good.
Also fixed a bug in kernelinfo - os.uname is not implemented in Windows
(or mac, probably), but I think socket.gethostname() is available on all
three platforms.
Fixed bug in accessing directories a depths greater than 1 level.
Some initial support for IPython 3.0 and IPEP 27. Can open notebooklists
and notebooks, but having some issues connecting to websocket.
Renaming notebooks is functional, apparently, but code needs more
testing. I am concerned that the PATCH request is not generating a 200
response code as it should be (and does when I test under Python).
Also some preliminary code to provide breadcrumbs in notebooklist
buffer.
Corrected error in response code checking when saving a network (IPython
server now returns 200 instead of 204).
Cleaned up error that was being raised from EIN's notification system.
Seems like there is some logic for popping to a buffer once a
notification event first, but to what buffer is unclear so for know I
have disabled that functionality.
Fixed a bug in saving notebooks in a subdirectory - EIN thought the save
was failing and incorrectly creating a new workbook at the top of the
directory hierarchy.
Increased support for IPEP 16: Notebook multi-directory dashboard and
URL mapping. The ein:notebooklist buffer will show subdirectories, which
can be opened by user. Does not support going back up in the hierarchy,
however.
Not fully tested, so use with caution!
Basic, mostly untested support for the brave new world of IPython 2.0.
2.0 now supports the concepts of 'paths', letting notebooks be stored in
a directory hierarchy. This has resulted in a change in the web API -
most URL's are now prefixed with 'api/'.
EIN does not (yet) support hierarchical notebooks, but at least it now
plays better with the new URL scheme for iPython 2.0.
Oh, there also seems to have been a change in the format of the ipython
notebook. This has been fixed too, but is probably bakcwards
incompatible.
ein:ac-clear-cache takes too much time by the result of profiler.el.
Also, as ac-source-ein-cached sends request in background [1], there is
no need for caching anymore.
[1] 865a96f3d2