Jessica B. Hamrick
46e40e5ea1
Return a proper JSON object
12 years ago
Jessica B. Hamrick
5e1e8a116c
Use 501 error code instead of 400
12 years ago
Jessica B. Hamrick
c4a89cd54d
Better user experience when kernel isn't found
12 years ago
Jessica B. Hamrick
cfc234dc89
Handle NoSuchKernel errors more gracefully
12 years ago
MinRK
974d45343e
allow kernel_name to be undefined in requests
...
fallback to KM.default_kernel_name in that case
12 years ago
MinRK
5bc118fb6c
handle system-wide kernelspecs
...
in html tets_kernelspecs_api, which can cause counts to be greater than 2
12 years ago
Matthias Bussonnier
97e99d0661
Merge pull request #6412 from takluyver/sessions-rest-api-fix
...
Sessions rest api fix
12 years ago
Thomas Kluyver
fa6056e9ed
Sort directory contents in test before assertion
...
Should fix recent test failures, but I can't replicate failure on my
computer, so it's not clear that it's fixed.
12 years ago
Thomas Kluyver
b2737e668e
Add tests and fix some issues
...
Tests taken from #6360
12 years ago
Thomas Kluyver
0e109ee4be
Correct comment
12 years ago
Thomas Kluyver
ca8dabf705
Fix 404 error when accessing nonexistant session
12 years ago
Thomas Kluyver
76b05b24af
Handle sessions where the kernel has been killed
12 years ago
Thomas Kluyver
81b06d81a1
Merge pull request #6358 from minrk/contents-missing
...
fix directory listing with broken symlinks
12 years ago
Min RK
fbae96f9cb
Merge pull request #6269 from takluyver/atomic-save
...
Implement atomic save
12 years ago
MinRK
819c3c326c
fix directory listing with broken symlinks
...
directory listing would 404 if any listed file doesn't exist
(e.g. symlink to missing target).
Previously-failing test included.
12 years ago
MinRK
bd5a88e954
handle undefined or closed zmq_stream in on_message
...
can happen if a message is waiting in a pipe and the web socket is closed before the message is handled.
And give ZMQChannels a nice repr with their kernel ID
12 years ago
Thomas Kluyver
8b7d4c1c2f
Rework atomic_writing with tests & docstring
12 years ago
Thomas Kluyver
04cbce2a14
Implement atomic save
...
Ping @fperez, this should avoid issues with corrupted/lost notebooks
when the disk is full, though I haven't worked out how to test it just
yet.
Closes gh-6254
12 years ago
MinRK
3e79eea46b
update contents per further review
...
- fix is_hidden always returning True on nonexistent files
- create hidden dir fails with 400
- don't read binary files twice
- logging improvements
- dialog on invalid notebook upload
- warn about disabled `--save`
12 years ago
MinRK
3c26b079f0
updates per review
...
- clarified docstrings and errors
- still more notebook/file renames
- configurable untitled names
- copy_from can be full path
- fix running, upload, new-tab behaviors in dashboard
Yay, review!
12 years ago
MinRK
bec995aa63
updates per review
...
a few more notebook mentions in docstrings,
and inappropriate use of setdefault.
12 years ago
MinRK
93b300adda
support deleting empty directories
...
can’t copy directories
12 years ago
MinRK
260afd76ae
contents service review
...
- missed some s/notebook/file/ in docstrings
- manager doesn’t sort contents
12 years ago
MinRK
accf0878ae
test creating a directory with PUT
12 years ago
MinRK
8c4069cc00
add support and tests for uploading and saving regular files
12 years ago
MinRK
0c0eb43719
teach contents service about non-notebook files
12 years ago
MinRK
6cce477e07
rename notebooks service to contents service
...
minimal functional changes, committing because tests are passing.
12 years ago
MinRK
b73aa2b9f9
mv services/notebooks services/contents
12 years ago
Thomas Kluyver
0e3d27c841
Deterministic order for kernels in notebook UI
12 years ago
rgbkrk
88e52b2746
Only allow iframe embedding on same origin.
12 years ago
Thomas Kluyver
806432072a
Add kernel name to sessions REST API
...
Also, some refactoring so that the relationship between session, kernels
and notebooks is managed in the SessionManager, not in the HTTP
handlers.
12 years ago
Thomas Kluyver
ae6309c122
Add support for different kernel specs to kernels REST API
12 years ago
MinRK
e64f689374
don’t import IPython.parallel until it’s used
...
in IPython.html.notebookapp
12 years ago
Thomas Kluyver
3b92c7c24f
Merge pull request #6011 from minrk/no-jsonapi
...
only use zmq.jsonapi when talking to zmq sockets
12 years ago
Min RK
99f52dee68
Merge pull request #5827 from takluyver/kernelspec-rest-api
...
Kernel specs REST API
12 years ago
MinRK
44d2a5b62a
only use zmq.jsonapi when talking to zmq sockets
...
use stdlib json otherwise
12 years ago
Thomas Kluyver
ebf0ea32ef
Use stdlib json, not zmq jsonapi
12 years ago
Thomas Kluyver
76fdfe9eb7
Put full kernel info in REST API response for all kernels
12 years ago
Thomas Kluyver
f6628b7006
Refactor kernelspec resource handler to separate URL prefix
12 years ago
MinRK
336f47c126
update message spec adapter per review
...
- docs and comments
- adapt complete_reply with `end=null`, `start=-len(matched_text)`
- remove some incorrect `status` fields
- add `handle_reply_status_error` for handling `status=error` replies (no-op, currently)
12 years ago
MinRK
b06f382e9b
interrogate kernel_info to get protocol version for adaptation
12 years ago
Thomas Kluyver
1dabf3c547
Test kernel specs REST API
...
And fix kernel not found producing a 404 code.
12 years ago
Thomas Kluyver
02fa348c69
Create REST API for kernel specs
12 years ago
Thomas Kluyver
c4e0ef142b
Merge pull request #5759 from minrk/travis-3.4
...
test with Python 3.4 on Travis
12 years ago
MinRK
191cd44c4d
cleanup socket cleanup
...
- set linger on sockets (avoid hang on exit)
- actually close sockets, not just zmq streams (blame pyzmq, aka me)
seems to be necessary for js/notebook/shutdown test to avoid hanging on Python 3.4.
12 years ago
Spencer Nelson
925a58c0b4
Remove unused imports
12 years ago
MinRK
934e731237
add utils.path.ensure_dir_exists
...
Ensures that a directory exists,
and protects against a common race condition when multiple
processes try to create the same directory.
12 years ago
MinRK
df335decff
create checkpoints dir in notebook subdirectories
12 years ago
MinRK
bf871b020d
test notebook checkpoints in subdirectories
12 years ago
Min RK
dec6fb7260
Merge pull request #5469 from dalejung/nbm_kernel_path
...
API: Allow NotebookManagers to specify kernel startup dir.
closes #5468
12 years ago
Pankaj Pandey
195ca091c5
FileNotebookManager: Use shutil.move() instead of os.rename()
...
`os.rename()` fails in case the new path is on a different
filesystem. For example if a file in `/tmp` is tried to save
to home, it causes following error:
[Errno 18] Invalid cross-device link using os.rename
12 years ago
Dale Jung
27a77dedbd
API: Allow NotebookManagers to control kernel startup dir. #5468
12 years ago
MinRK
62061f0294
only catch errors in copystat
12 years ago
MinRK
caee63f413
fallback on copy, copyfile if copy2 fails
...
in notebook manager
12 years ago
MinRK
3588fe40a9
Merge Security Pull Request: google-caja
...
Adds HTML sanitization.
The basics:
- untrusted HTML is always sanitized, with no warning
(there is console logging for changes made)
- markdown is always treated as untrusted
- no warnings for simply excluded output (e.g. Javascript)
- CSS tags and attributes are always stripped from untrusted HTML
- never check whether HTML is "safe," only sanitize
- add 'Trust notebook' to File menu
12 years ago
Brian E. Granger
8d38e042df
Merge pull request #5158 from ivanov/fix-5157
...
log refusal to serve hidden directories
12 years ago
MinRK
d8f2e320f2
trust method docstrings
12 years ago
MinRK
d5b0026cf1
trust via mark cells and save, rather than trust API request
12 years ago
MinRK
c9c23cd71c
cleanup test_nbmanager
...
use class setUp / teardown instead of the same context manager in every test
12 years ago
MinRK
1ae689f30c
Add Trust Notebook to File menu
12 years ago
Paul Ivanov
6c8cccf9e3
fix test suite
...
is_hidden expects the file to actually exist, so I've rearranged the
logic such that is_hidden is called only after it's clear that the file
exists.
12 years ago
MinRK
052955a84a
normalize unicode in notebook API tests
...
was failing comparison on OS X
12 years ago
Paul Ivanov
d6f2dfefea
log refusal to serve hidden files dirs
12 years ago
Thomas Kluyver
8c1c18461c
Fix a couple of static analysis warnings
12 years ago
Thomas Kluyver
3698563794
Make hidden directories configurable
12 years ago
Thomas Kluyver
c75d4e9962
Don't attempt locale-aware sorting for now.
...
On Python 2, locale.strxfrm() can't handle unicode.
12 years ago
Thomas Kluyver
4fe9f8d057
Case insensitive sorting in the dashboard.
...
Closes gh-5151
12 years ago
Thomas Kluyver
c1e8ddc64e
Hide directories beginning with _ from the dashboard.
...
Closes gh-5152
12 years ago
MinRK
d37780c6a6
use config instead of App.instance to propagate notebook_dir
...
Should behave more logically (I hope).
12 years ago
MinRK
cb25736a24
reorganize who knows what about paths
...
- add NotebookApp.notebook_dir
- add KernelManager.root_dir
- remove NotebookManager.notebook_dir, move to FileNBM.notebook_dir
Default value for KM.root_dir and fNBM.notebook_dir is NotebookApp.notebook_dir, but they can be configured separately.
SessionManager passes the API path to KernelManager,
which is responsible for turning it into the kernel's cwd.
12 years ago
MinRK
37cb0fbdee
remove websocket url
...
websockets should follow the kernel URL
(normal behavior is unchanged, only unused configurability is removed)
12 years ago
Brian E. Granger
db4960769b
Merge pull request #5100 from minrk/base_kernel_url
...
remove base_kernel_url
12 years ago
MinRK
a184724bdb
remove base_kernel_url
12 years ago
Konrad Hinsen
fdb8ab37ae
Rearrange the NotebookManager methods for clarity
...
Methods are organized into three categories:
- Methods that must be implemented in subclasses
- Methods that have default implementations, but can
be overridden if required.
- Support methods meant to be called by methods in subclasses
12 years ago
Konrad Hinsen
b1c6ba2c97
Move method increment_filename from FileNotebookManager to NotebookManager
...
The implementation requires only a minor change (call notebook_exists
rather than checking for file existence) to be universally usable
in other notebook managers.
12 years ago
Konrad Hinsen
0a430f5840
Add method notebook_exists to NotebookManager.
...
It is called by IPython.html.notebook.NotebookHandler.get,
so it must be implemented by every notebook handler.
12 years ago
Konrad Hinsen
26e3e31ad8
NotebookManager API: rename *notebook_model methods to *notebook
12 years ago
MinRK
e1e0b19a6a
s/base_project_url/base_url/
...
deprecate NotebookApp.base_project_url
12 years ago
Brian E. Granger
eb9e0be218
Small refactoring of is_hidden to take root as default kwarg.
12 years ago
Brian E. Granger
243392d810
Creating and testing IPython.html.utils.is_hidden.
12 years ago
Brian E. Granger
7e1a179a7c
Addressing review comments.
...
* list_dirs and get_dir_model added to base NBM class.
* Calling of list_dirs moved to handler.
* type=notebook added to notebook model.
12 years ago
Brian E. Granger
717f031e01
Adding dashboard navigation tests for dir browsing.
12 years ago
Brian E. Granger
c1a8f5af6a
Get the existing tests working.
12 years ago
Brian E. Granger
45a8d046c8
Add support for index.ipynb
12 years ago
Brian E. Granger
a3ef3109db
Server side logic for directories.
12 years ago
MinRK
eb208b2d77
move signature checking to base NotebookManager
...
so that subclasses have less to duplicate
12 years ago
MinRK
6dd44de19f
Notaries sign notebooks now
12 years ago
MinRK
ffb3523d05
use configured scheme, not stored scheme when checking signatures
...
protects against notebook author choosing bad hash scheme.
12 years ago
MinRK
6a1e7fe685
add nbformat.sign.NotebookNotary
12 years ago
MinRK
f14f856edb
sign notebooks
12 years ago
MinRK
7ae363f6d1
turn missing dependencies in nbconvert to 500 errors
...
pygments is the only such example at this time
12 years ago
MinRK
91d3326923
allow notebook to start without nbconvert
...
catches import / key errors and turns them into proper http errors
12 years ago
Thomas Kluyver
57642b3847
Move notebook URL fragment regexen into IPython.html.base.handlers
12 years ago
Thomas Kluyver
30e8939a27
Separate listing nbconvert exporters to /api/nbconvert
12 years ago
Thomas Kluyver
7655ce579e
Add HTTP handlers for nbconvert
12 years ago
MinRK
b82b4997e7
test that rename fails with 409 if it would clobber
...
(test already passes, but it should still be tested)
closes #4600
12 years ago
Thomas Kluyver
79c27df217
Specify encoding in remainining instances of io.open
12 years ago
Thomas Kluyver
3fb55970be
Miscellaneous docs fixes
12 years ago
Thomas Kluyver
b829043a60
Add test for saving notebook with .py script
12 years ago
Thomas Kluyver
8ed3a725f3
Pass nbformat object to write call to save .py script
...
Closes gh-4495
12 years ago