Commit Graph

147 Commits

Author SHA1 Message Date
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.
2014-04-29 10:18:36 -07:00
MinRK
df335decff create checkpoints dir in notebook subdirectories 2014-04-23 13:30:23 -07:00
MinRK
bf871b020d test notebook checkpoints in subdirectories 2014-04-23 11:43:51 -07:00
Min RK
dec6fb7260 Merge pull request #5469 from dalejung/nbm_kernel_path
API: Allow NotebookManagers to specify kernel startup dir.

closes #5468
2014-04-22 15:02:42 -07:00
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
2014-04-07 21:07:55 +05:30
Dale Jung
27a77dedbd API: Allow NotebookManagers to control kernel startup dir. #5468 2014-03-29 17:39:15 -04:00
MinRK
62061f0294 only catch errors in copystat 2014-03-19 12:22:33 -07:00
MinRK
caee63f413 fallback on copy, copyfile if copy2 fails
in notebook manager
2014-03-14 10:06:02 -07:00
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
2014-03-04 17:35:55 -08:00
Brian E. Granger
8d38e042df Merge pull request #5158 from ivanov/fix-5157
log refusal to serve hidden directories
2014-03-04 10:05:29 -08:00
MinRK
d8f2e320f2 trust method docstrings 2014-03-03 16:27:59 -08:00
MinRK
d5b0026cf1 trust via mark cells and save, rather than trust API request 2014-03-03 16:10:21 -08:00
MinRK
c9c23cd71c cleanup test_nbmanager
use class setUp / teardown instead of the same context manager in every test
2014-03-03 16:10:20 -08:00
MinRK
1ae689f30c Add Trust Notebook to File menu 2014-03-03 16:10:20 -08:00
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.
2014-03-03 16:02:07 -08:00
MinRK
052955a84a normalize unicode in notebook API tests
was failing comparison on OS X
2014-03-03 14:33:45 -08:00
Paul Ivanov
d6f2dfefea log refusal to serve hidden files dirs 2014-03-03 12:35:37 -08:00
Thomas Kluyver
8c1c18461c Fix a couple of static analysis warnings 2014-02-28 11:38:28 -08:00
Thomas Kluyver
3698563794 Make hidden directories configurable 2014-02-28 11:37:26 -08:00
Thomas Kluyver
c75d4e9962 Don't attempt locale-aware sorting for now.
On Python 2, locale.strxfrm() can't handle unicode.
2014-02-28 11:35:49 -08:00
Thomas Kluyver
4fe9f8d057 Case insensitive sorting in the dashboard.
Closes gh-5151
2014-02-28 11:35:04 -08:00
Thomas Kluyver
c1e8ddc64e Hide directories beginning with _ from the dashboard.
Closes gh-5152
2014-02-28 11:31:58 -08:00
MinRK
d37780c6a6 use config instead of App.instance to propagate notebook_dir
Should behave more logically (I hope).
2014-02-21 13:22:57 -08:00
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.
2014-02-21 13:22:56 -08:00
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
2014-02-11 12:30:19 +01:00
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.
2014-02-11 12:26:57 +01:00
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.
2014-02-11 12:26:06 +01:00
Konrad Hinsen
26e3e31ad8 NotebookManager API: rename *notebook_model methods to *notebook 2014-02-11 12:25:57 +01:00
MinRK
e1e0b19a6a s/base_project_url/base_url/
deprecate NotebookApp.base_project_url
2014-02-08 23:09:24 -08:00
Brian E. Granger
eb9e0be218 Small refactoring of is_hidden to take root as default kwarg. 2014-02-05 16:43:11 -08:00
Brian E. Granger
243392d810 Creating and testing IPython.html.utils.is_hidden. 2014-02-05 13:09:55 -08:00
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.
2014-02-05 12:01:11 -08:00
Brian E. Granger
717f031e01 Adding dashboard navigation tests for dir browsing. 2014-02-04 15:53:28 -08:00
Brian E. Granger
c1a8f5af6a Get the existing tests working. 2014-02-04 15:53:28 -08:00
Brian E. Granger
45a8d046c8 Add support for index.ipynb 2014-02-04 15:52:49 -08:00
Brian E. Granger
a3ef3109db Server side logic for directories. 2014-02-04 15:52:49 -08:00
MinRK
eb208b2d77 move signature checking to base NotebookManager
so that subclasses have less to duplicate
2014-01-29 14:37:00 -08:00
MinRK
6dd44de19f Notaries sign notebooks now 2014-01-28 18:44:49 -08:00
MinRK
ffb3523d05 use configured scheme, not stored scheme when checking signatures
protects against notebook author choosing bad hash scheme.
2014-01-28 18:44:49 -08:00
MinRK
6a1e7fe685 add nbformat.sign.NotebookNotary 2014-01-28 18:44:49 -08:00
MinRK
f14f856edb sign notebooks 2014-01-28 18:44:48 -08:00
Thomas Kluyver
57642b3847 Move notebook URL fragment regexen into IPython.html.base.handlers 2013-12-19 13:01:00 -08:00
Thomas Kluyver
7655ce579e Add HTTP handlers for nbconvert 2013-12-13 14:46:50 -08:00
MinRK
b82b4997e7 test that rename fails with 409 if it would clobber
(test already passes, but it should still be tested)

closes #4600
2013-11-25 23:20:23 -08:00
Thomas Kluyver
79c27df217 Specify encoding in remainining instances of io.open 2013-11-20 10:50:04 -08:00
Thomas Kluyver
3fb55970be Miscellaneous docs fixes 2013-11-14 11:21:32 -08:00
Thomas Kluyver
b829043a60 Add test for saving notebook with .py script 2013-11-05 17:43:36 -08:00
Thomas Kluyver
8ed3a725f3 Pass nbformat object to write call to save .py script
Closes gh-4495
2013-11-05 17:35:36 -08:00
Thomas Kluyver
557fb3f4ae Python 3 compatibility for os.getcwdu() 2013-10-31 12:37:45 -07:00
Thomas Kluyver
d4532983f4 Convert print statements to print function calls
libmodernize.fixes.fix_print
2013-10-29 09:14:15 -07:00