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
Thomas Kluyver
557fb3f4ae
Python 3 compatibility for os.getcwdu()
12 years ago
Thomas Kluyver
93ee2d7173
Make sessions REST API test more robust.
...
Was seeing failures on Windows because it failed to delete the folder.
12 years ago
Thomas Kluyver
bce32ec03b
Fixes for notebook session manager
12 years ago
Thomas Kluyver
4a14ed7e22
Replace references to unicode and basestring
12 years ago
Thomas Kluyver
d4532983f4
Convert print statements to print function calls
...
libmodernize.fixes.fix_print
12 years ago
Min RK
c3e6e625a7
Merge pull request #4427 from minrk/checkpoint-on-first-save
...
notebooks should always have one checkpoint
closes #4396
12 years ago
MinRK
6bc2c65c83
notebooks should always have one checkpoint
...
closes #4396
12 years ago
MinRK
3a4d719033
fix checkpoint filename
12 years ago
MinRK
922f458d6a
set kernel cwd to notebook's directory
...
closes #4424
12 years ago
MinRK
40cce4d7e3
s/os.path.sep/os.sep/
12 years ago
MinRK
dfb538d881
Windows testing fixes
12 years ago
MinRK
1f90f4d7bb
test /files/ gives 403 on hidden files
12 years ago
MinRK
24174f31d9
use itertools.count for incrementing notebook filename
12 years ago
MinRK
cc08837111
fix created timestamp in notebook model
12 years ago
MinRK
f894dbe664
test upload of v2 notebooks
12 years ago
MinRK
cf0218e2d1
don't use jsonapi in test_notebook_api
12 years ago
MinRK
66ccce69c6
copy_from in json, not in url param
12 years ago
MinRK
ef0d065712
test nbmanager.copy_notebook
12 years ago
MinRK
7ea311ad64
escape URLs in Location headers
12 years ago
MinRK
06d9b99141
update notebook api tests
...
with creation URL changes
also use unicode as the default name in tests,
to increase likelihood of catching unicode bugs.
12 years ago
MinRK
f11caf25e7
update notebook creation handlers
...
- only POST to directories (notebook picks name)
- only PUT to full paths
- PUT and POST should be equivalent aside from
who picks the notebook name.
12 years ago
MinRK
60d12e4209
allow specifying destination in copy_notebook
12 years ago
MinRK
d1a36fe4c0
use 'id' for checkpoint ID key
...
rather than redundant checkpoint.checkpoint_id
12 years ago
Brian E. Granger
36aa39e3b7
Improving tests and setting of Location header.
12 years ago
Brian E. Granger
51fc769edd
Handle notebook downloads through the /files URL.
12 years ago
Brian E. Granger
59901ce88c
Adding docstring to NotebookHandler.get.
12 years ago
Thomas Kluyver
6017f5d0ef
Specify encoding for loading and saving notebooks.
12 years ago
Thomas Kluyver
05e85588cf
Add some unicode testing for saving notebooks
12 years ago
Thomas Kluyver
cbc141c95c
Fixes for notebook checkpoint APIs
12 years ago
Thomas Kluyver
3f46a05a14
Test notebook checkpoint APIs
12 years ago
MinRK
4a12890d65
disable download-as-pt
...
since it doesn't work. Adds a note about nbconvert needed to bring it back.
12 years ago
Thomas Kluyver
d089f7749f
Use assertEqual, not deprecated assertEquals
12 years ago
Thomas Kluyver
836ad5f388
Add tests for interrupting & restarting kernel
...
These are in an existing test method, as starting and stopping kernels
for individual tests is expensive.
12 years ago
Thomas Kluyver
06fa301908
Refactor tests for kernels REST API
12 years ago
MinRK
8b9bb04d12
review pass on Sessions API
12 years ago
Thomas Kluyver
b1a0f2e8cc
404 on attempt to list notebooks in nonexistant directory
12 years ago
Thomas Kluyver
18f88d020f
Add failing test for listing nonexistant directory
12 years ago
Thomas Kluyver
99969474e0
Fix notebook manager test
12 years ago
Thomas Kluyver
c18aaefbde
Fix sessionmanager test
12 years ago
Thomas Kluyver
e240f21ea1
Clean up sessions code from static analysis
12 years ago
Thomas Kluyver
693cc97905
Fix some HTTP status codes in sessions API
12 years ago
Thomas Kluyver
b3d2698c11
Fix session API tests
12 years ago
Thomas Kluyver
a02bd3d5e4
Improve Session REST API tests
12 years ago
Thomas Kluyver
a6a7255454
Fix some notebook model tests
12 years ago
MinRK
acb4245035
unicode normalization in test_notebooks_api
12 years ago
Thomas Kluyver
9f4a4ab3f8
Check Location header from renaming notebook
12 years ago
Thomas Kluyver
9144e8e57b
Fix check of notebook path
12 years ago
Thomas Kluyver
eb9a55ed6b
Add test for and fix REST save with rename
12 years ago
Thomas Kluyver
b9310d0e05
Add test for copying notebook through REST API
12 years ago
Thomas Kluyver
7725025d52
Add test for saving notebook via REST API
12 years ago
Thomas Kluyver
85d3c39b5a
Add test for REST API uploading notebook
12 years ago
Thomas Kluyver
9d9adb1186
Improve tests for notebook REST API
12 years ago
MinRK
6c88abe1d6
always set location on PATCH
...
don't redirect
12 years ago
MinRK
dc65b33d14
simplify handler patterns
...
PATH pattern will now sometimes include leading slash,
but that's okay because nbmanager will strip them.
fewer redirect patterns needed
12 years ago
MinRK
a31cfdc8a8
ensure 'path' never has leading or trailing slash in nbmanager
...
Don't trust API callers to always get this right.
12 years ago
MinRK
a7f297f8f3
save before download-as
...
uses `async : false`
closes #852
download-as-py still unavailable.
12 years ago
MinRK
8b94ee2b47
use `async : false` to avoid pop-up blocker on New / Copy notebook
12 years ago
MinRK
b33ffa7068
update upload and copy
...
adds 'notebook.ipynb/copy' url handler
because we were putting too many things in a single POST handler.
12 years ago
MinRK
4e12521082
fix dashboard upload
12 years ago
MinRK
5b1a648fc8
move os_path to FileNBMan
...
doesn't belong in base NotebookManager
12 years ago
MinRK
fe59217989
move url_[un]escape to utils from nbm
12 years ago
MinRK
16e8d0ff43
adjust definition of 'path' in notebooks
...
never includes leading or trailing '/'
12 years ago
MinRK
e46412e30f
fix `--notebook-dir` configurable when there is no trailing slash
12 years ago
Zachary Sailer
d3e456d9a1
add tests to notebooks api
...
- check for correct status codes
- check headers location
- fix COPY api
12 years ago
Zachary Sailer
9e0beba86f
adding to test_kernels_api.py
...
- Check all HTTP status code responses for requests
- Test invalid kernel IDs
- Check 'location' key in POST request to kernels
12 years ago
Zachary Sailer
c26700cd3a
changes after session manager code review
12 years ago
Zachary Sailer
7aaaab0668
fixed notebook rename after nbmanager refactor
12 years ago
Zachary Sailer
2a946c62ab
added tests to nbmanager for url encode/decode
12 years ago
Zachary Sailer
97bc426bb7
add error catching to kernel manager
...
also, adding further tests to kernel manager
12 years ago
Brian E. Granger
c0bc0410ce
Review and refactoring of notebooks web service.
12 years ago
MinRK
5568cd5db0
ensure test_no_kernels runs first
...
since it expects a clean notebook server.
12 years ago
Zachary Sailer
27680dacb2
Code review changes.
...
Fixed handler issues and api tests from code review
from @minrk and @carreau.
12 years ago
Zachary Sailer
04c6a3cfac
refactoring of nbmanager and filenbmanager
...
major clean up of the two managers. We make sure to follow
the standard models described in IPEP 16
12 years ago
Zachary Sailer
050a3098a8
review fixes on tests, add extra kernel api test
12 years ago
Zachary Sailer
e9ac1c2d37
add tests for session api
12 years ago
Zachary Sailer
8ce586a241
move notebooks api tests into notebooks/tests
12 years ago
Paul Ivanov
f517d44d4b
removing contents changes from this PR
12 years ago
Zachary Sailer
95b505d602
Added notebooks API tests.
12 years ago
Zachary Sailer
5f1b7727d8
fix bug in test_contentmanager
12 years ago
Brian E. Granger
136a19e5eb
Added base class for Notebook API tests.
12 years ago
Zachary Sailer
483d16c8ed
clean kernel manager
12 years ago
Zachary Sailer
22e351ae3b
cleaning nb handlers, adding doc-strings/comments
12 years ago
Zachary Sailer
8c2009874c
session manager restructuring
...
Redid the sessionmanager, added tests for the session manager,
and added a sqlite database to hold kernel,session,nb mapping.
12 years ago
Paul Ivanov
b8318708eb
clean up of get_os_path and its tests
...
work with @Zsailer
12 years ago
Zachary Sailer
34b9840786
fixing broken links from recent changes.
...
After fixing operating system path changes in previous commits,
many links needed to be adjusted to direct to the correct URL.
12 years ago
Zachary Sailer
470595f9e7
handle path separators with os.sep and add tests
...
Added more tests to the notebook manager to check for the correct
path separators on different operating system. Fixed the get_path
method.
12 years ago
Zachary Sailer
bdbe30dc3a
url encode/decode tests added to nbmanager
12 years ago
Paul Ivanov
7ca8a21bf6
named_notebook_path: consistent usage convention
12 years ago
Paul Ivanov
a083ad1fd7
more named_notebook_path cleanup
...
named_notebook_path now returns path with leading and trailing slashes.
Work with @Zsailer
12 years ago
Paul Ivanov
fd7a64ff38
simplified named_notebook_path implementation
...
Also updated the tests
12 years ago
Paul Ivanov
9f08aa5a08
cleaning up named_notebook_path
12 years ago
Paul Ivanov
11e5bd7b24
adding tests for named_notebook_path
...
I want to do some refactoring, so I'll put in some tests that will define the
behavior that I want to preserve, so I can verify that my refactoring hasn't
broken anything.
12 years ago
Thomas Kluyver
18fdb26273
Fix to if test
12 years ago
Thomas Kluyver
6154c5f626
Remove some unnecessary imports
12 years ago
Thomas Kluyver
2a81c5f80c
Update docstring
12 years ago
Thomas Kluyver
213b89c1cc
Simplify encoding/decoding URL parts
12 years ago
Thomas Kluyver
adb2fc1fa4
Better use Python slicing
12 years ago
Zachary Sailer
1f04b48725
Renaming fixed
12 years ago
Zachary Sailer
f3af343f4f
Change new/copy URLS to POST requests
12 years ago
Zachary Sailer
8261ac2cb9
change standard money keys
12 years ago
Zachary Sailer
c7375e170f
rebase master- eliminate read-only
12 years ago
Zachary Sailer
eb1690255d
allow spaces in notebook path
12 years ago
Zachary Sailer
a219abaeeb
standard model changes
12 years ago
Zachary Sailer
5af83cd705
redirect url after notebook rename
12 years ago
Zachary Sailer
fd282698bc
removing debug logs
12 years ago
Zachary Sailer
5462cb4d9b
fixed delete_content in contentmanager
12 years ago
Zachary Sailer
91f25dc046
add contents web service api
12 years ago
Zachary Sailer
ad621913f1
added folder creation ability using '/-new'
12 years ago
Zachary Sailer
d06cf1fed7
added "last_modified" to notebook_model
12 years ago
Zachary Sailer
d4ee2da291
proper '.py' and '.ipynb' download files
12 years ago
Zachary Sailer
022b8324b2
Download '.py' fixed, deleted debugging output
12 years ago
Zachary Sailer
bfff3d817d
Fixed bug when linking kernel to new code cells
12 years ago
Zachary Sailer
c4e06a3728
allow rename in subdirectory notebooks
12 years ago
Zachary Sailer
ece92127d3
Add 'patch' to session & notebook, rename working
12 years ago
Zachary Sailer
e4a7b724a6
fixed shutdown button refresh on dashboard
12 years ago
Zachary Sailer
62ec52e276
fix restart/interrupt kernel buttons
12 years ago
Zachary Sailer
20324bafd0
fixing path redirects, cleaning path logic
12 years ago
Zachary Sailer
11cef9ab45
fixing some bugs after rebase
12 years ago
Zachary Sailer
0559df1b8a
manual rebase - add sessions web service
12 years ago
Zachary Sailer
98e67bfa22
manual rebase notebooks web services
12 years ago
Zachary Sailer
09c4ecbb10
manual rebase services/kernels/
12 years ago
Matthias Bussonnier
e07ddebdf6
Merge pull request #3743 from minrk/noro
...
remove notebook read-only view
it is largely broken, and had problematic security issues.
13 years ago
MinRK
f9dd129e1c
remove notebook read-only view
...
it is largely broken, and had problematic security issues.
13 years ago
MinRK
2a09958bb6
better message when notebook format is not supported
...
Different messages for bad version and bad JSON.
closes #1592
13 years ago
MinRK
39578beabc
remove max_msg_size altogether
...
It was a security feature without an application.
13 years ago
MinRK
4408ab6ca1
warn about messages dropped due to oversize
13 years ago
MinRK
563d9372bf
up default max_msg_size to 1MB
13 years ago
Brian E. Granger
7941da8fe2
Merge pull request #3498 from ellisonbg/nbname
...
When a notebook is written to file, name the metadata name u''.
13 years ago
Matthias Bussonnier
cefbcbead1
Merge pull request #3526 from minrk/clusterlist
...
ensure 'default' is first in cluster profile list
when sorting, 'default' is transformed to ''.
13 years ago
Matthias Bussonnier
8e211a1290
Merge pull request #3525 from minrk/utc
...
Fix basic timezone info
minor tweaks to jsonutil, to include timezone info if available
add IPython.utils.tz, which just has basic info for making utcnow(), etc. include tzinfo in the datetime object
use this tzinfo in the last_modified keys in notebook managers, which fixes Firefox's timezone offset for checkpoints
13 years ago
MinRK
13408ecf71
ensure 'default' is first in cluster profile list
...
when sorting, `'default'` is transformed to `''`.
13 years ago
MinRK
bc4a457fdc
add timezone info to `last_modified` in notebook managers
...
now Firefox won't get confused, turning utc timestamps into local times.
closes #3396
13 years ago
Thomas Kluyver
a2bf752dba
Remove unused imports in IPython.html
13 years ago
Thomas Kluyver
acb7eefef8
Remove unexpected keyword parameter to remove_kernel
...
Closes gh-3474
13 years ago
Brian E. Granger
a8dfc449a6
When a notebook is written to file, name the metadata name u''.
13 years ago
MinRK
cf726d6a40
mv IPython.html.notebook -> IPython.html
13 years ago