Commit Graph

1054 Commits

Author SHA1 Message Date
Fernando Perez
d81197455a Merge pull request #1849 from stefanv/octavemagic
Add %%octave, %octave, %octave_pull and %octave_push magics to facilitate interaction with Octave via oct2py.  This is similar in spirit to the R magic extension.
2012-06-12 23:52:57 -07:00
MinRK
ace8c72c9c increase duration of save messages
and write permanent 'failed' message to the save status area on failed save.
2012-06-12 20:36:29 -07:00
MinRK
ec50e94524 restore collapsed state for cells
js refactor removed this, but did not document the change.  This restores it, but it would be fine to revert this and update the docs instead.
2012-06-12 19:26:55 -07:00
MinRK
362feaa295 add empty metadata field on cells/worksheets
These are unused for now, but will allow adding data to the notebook without a full version bump.
2012-06-12 19:12:36 -07:00
MinRK
d73b4e428e don't warn in iptest if deathrow/quarantine are missing 2012-06-11 14:21:18 -07:00
MinRK
33b0144b8f skip autoreload tests 2012-06-11 12:37:04 -07:00
mcelrath
160fbcdcbc Alternative solution: silently apply some CSS instead of a dialog box. 2012-06-11 09:53:31 -07:00
MinRK
15689fb664 add toggle output scroll to quickhelp 2012-06-10 21:28:20 -07:00
MinRK
ed4ee44a21 add ^M-O for toggling output scroll 2012-06-10 21:26:17 -07:00
MinRK
5f0b08145e dblclick/double click for humans 2012-06-10 20:00:10 -07:00
MinRK
5b0d89a9ad use glob for bad exclusion warning
rather than explicit check for .py

closes #1896
2012-06-10 18:05:54 -07:00
Fernando Perez
4251457d9a Merge pull request #1870 from minrk/captureio
New `%%capture` cell magic captures stdout/err while running a cell.

Uses `capture_output()` context manager, moved to utils.io from IPython.parallel testing utilities, where it originated.

The caputre objects can be printed as a string, case in which they display the captured stdout, which is also available as `.stdout`.  The captured stderr, if any, is in a `.stderr` attribute.  A `.show()` method can be called to quickly print both, with stderr being correctly printed to the sys.stderr stream (so the notebook displays it with red highlighting).

closes #1863
2012-06-10 18:01:41 -07:00
Fernando Perez
3fde837087 Merge pull request #1867 from mcelrath/menu_borders
Fix 1px margin bouncing of selected menu item.

This fixes the margin of the active menu item to zero, so now the text doesn't shift around, even if you use larger fonts.

To reproduce the original error, zoom your notebook (ctrl-mousewheel, or ctrl-+ in most browsers) and try the menu.
2012-06-10 16:36:38 -07:00
Fernando Perez
b683e0fadc Merge pull request #1889 from invisibleroads/patch-3
Reconnect when the websocket connection closes unexpectedly.

Closes #1577.
2012-06-10 16:33:25 -07:00
Fernando Perez
60f6f874fb Merge pull request #1886 from tkf/fix-notebook-rename
Fix a bug in renaming notebook caused by keeping a stale reference to old names.
2012-06-10 16:31:20 -07:00
Fernando Perez
1c905f74af Merge pull request #1883 from mcelrath/mono_cursor_offset
Fix vertical offset due to bold/italics, and bad browser fonts.

Adds a dialog warning users when a problematic monospaced font is detected, so they can change their configuration.
2012-06-10 13:42:52 -07:00
mcelrath
5b2b7ed604 Add bad font detection, and a dialog informing the user. 2012-06-10 11:32:40 -07:00
Stefan van der Walt
c9a0f40dc5 Skip octavemagic tests if oct2py is unavailable. 2012-06-09 20:18:31 -07:00
MinRK
dd3e610882 third attempt at scrolled long output
click/double-click on prompt area for toggling scroll/collapse
2012-06-08 15:22:11 -07:00
Roy Hyunjin Han
ec3babe3ff Reconnect when the websocket connection closes unexpectedly 2012-06-09 04:05:58 +08:00
Takafumi Arakaki
635846dc74 Fix a bug in renaming notebook
There was a bug in NotebookManager.save_notebook_object.
Here is how to reproduce:

0. Make sure you don't have Untitled0.
1. Open new notebook Untitled0.
2. Rename it to something else.
3. Copy Untitled0.ipynb to the notebook dir from somewhere.
   (Do not use notebook UI.)
4. New copied Untitled0 cannot be opened.
   The renamed notebook is opened when tried.
   Indeed, accessing to http://localhost:XXXX/notebooks shows
   duplicated notebook_id.

The problem was that NotebookManager.rev_mapping keeps old notebook
name after renaming.
2012-06-08 20:26:46 +02:00
Brian E. Granger
cdfc81c542 Merge pull request #1829 from Carreau/notebook_cellmagic_completion
[notebook] don't care about leading prct in completion
2012-06-08 11:13:15 -07:00
Min RK
d4727ba7cf fix missing comma 2012-06-08 11:06:52 -07:00
Brian Granger
d27a86ef77 Removing resizable SVGs from output. 2012-06-08 11:02:39 -07:00
Brian Granger
41dbc82478 SVG images are now resizable in Chrome+FF. 2012-06-08 11:02:39 -07:00
Brian Granger
fc040f5da2 Resolving conflict in utils.js. 2012-06-08 11:02:15 -07:00
Brian Granger
4b1eec0eaf Make svg, jpeg and png images resizable in notebook. 2012-06-08 11:01:05 -07:00
Min RK
ebd26651ab Merge pull request #1674 from mdboom/notebook-carriage-return
HTML Notebook handles carriage-return special character
2012-06-08 10:57:06 -07:00
Michael Droettboom
8c053ac40c Fix rebase. 2012-06-08 09:36:16 -04:00
Matthias BUSSONNIER
d4e9858fef pep8 2012-06-08 12:12:20 +02:00
Matthias BUSSONNIER
cc62fc63f9 don't care about lleading prct in completion
mainly to avoid weird shared start with cell magics
2012-06-08 12:10:37 +02:00
mcelrath
a1604deeee Fix vertical offset due to bold/italics, and bad browser fonts. 2012-06-07 22:30:58 -07:00
Fernando Perez
9ebbfe3f22 Merge pull request #1841 from Carreau/deduplicate_completion
[notebook] deduplicate completion results

remove context completions that are duplicates from introspection
completion

fixes #1840
2012-06-07 20:12:43 -07:00
Michael Droettboom
b471db22e0 Fix the "test for nothing was streamed" so it doesn't add empty elements -- but only when there wasn't already something there. 2012-06-07 19:09:26 -04:00
Michael Droettboom
a9453360a9 Handle carriage return characters ("\r") in HTML notebook output.
Conflicts:

	IPython/frontend/html/notebook/static/js/utils.js
2012-06-07 19:08:54 -04:00
Michael Droettboom
f058068f53 Fix carriage-return handling regular expression so it doesn't treat "\r\n" as "\r". 2012-06-07 19:05:30 -04:00
MinRK
07f0eca24f move capture_output util from parallel tests to utils.io 2012-06-06 16:35:06 -07:00
Min RK
f75497d930 Merge pull request #1815 from ellisonbg/nbsavebug
Make : invalid in filenames in the Notebook JS code.

This only prevents : in the filenames on the JavaScript side of things. Handling this on the server side will be a separate issue that is related to other open issue. I will update those to reflect this. 

closes #1781
2012-06-06 16:24:04 -07:00
mcelrath
5612d07fea Fix 1px margin bouncing of selected menu item. 2012-06-06 12:33:21 -07:00
Matthias BUSSONNIER
567b6bbcd2 don't need to check for leading dot 2012-06-05 09:37:35 +02:00
Fernando Perez
1bf5ead0e8 Merge pull request #1856 from mcelrath/master
Fix 1px jumping of cells and menus in Notebook as selection moves around, by careful creation of 1px outlines.
2012-06-04 18:01:08 -07:00
mcelrath
faa214178e Fix 1px jumping of cells and menus in Notebook. 2012-06-04 17:31:51 -07:00
Fernando Perez
22c5d421fc Merge pull request #1780 from jonathan-taylor/rmagic_extension
Rmagic extension to use R (the statistical package) seamlessly from IPython.

The rmagic extension allows R inline code as well as cell level magics. An example notebook is provided in docs/examples/notebooks/rmagic_extension.ipynb to demonstrate its usage.

Main points:

1) Allows capture of plots to R via inline png plots (like --pylab inline)

2) Allows capture of R's stdout() connection to the notebook

3) Allows simple push/pull for array data to/from R (via rpy2) with copy only on push to R -- this seems necessary.
2012-06-04 16:25:44 -07:00
Matthias BUSSONNIER
795cb7bb21 bracket on same line 2012-06-04 12:00:23 +02:00
MinRK
91180c0511 add InlineBackend to ConsoleApp class list
so it will be included in generated config files / help-all output
2012-06-03 21:40:01 -07:00
Matthias BUSSONNIER
9cfdea0d1c take care of token starting by '.' (dot) 2012-06-03 13:18:43 +02:00
Matthias BUSSONNIER
d74a58b3c8 [notebook] deduplicate completion results
remove context completion that are duplicates from introspection
completion
fixes #1840
2012-06-03 11:36:07 +02:00
Brian Granger
fc096c7232 Using IPython.utils.keycodes in the nb rename dialog. 2012-05-31 21:57:42 -07:00
Brian Granger
010c35b130 Making the input text area watch for ENTER in nb renames. 2012-05-31 21:55:33 -07:00
Brian Granger
4dc94e29c8 ENTER submits the rename notebook dialog. 2012-05-31 21:55:33 -07:00
Brian E. Granger
c57fa1cd6a Merge pull request #1820 from bfroehle/port_selection_2
NotebookApp: Make the number of ports to retry user configurable.
2012-05-31 21:47:35 -07:00
Brian E. Granger
81aa090ce0 Merge pull request #1816 from ellisonbg/nbname
Always use filename as the notebook name.
2012-05-31 21:34:49 -07:00
Fernando Perez
d12819830f Merge pull request #1813 from takluyver/nose-assert-methods
Add assert_in method to nose for Python 2.6.

Closes #1775.
2012-05-31 18:02:32 -07:00
Bradley M. Froehle
7c1091c299 exit if server cannot start (instead of ugly traceback) 2012-05-31 16:24:22 -07:00
Bradley M. Froehle
6faad7f38f NotebookApp: Make the number of ports to retry user configurable.
Closes gh-1750.
2012-05-31 15:06:33 -07:00
Brian Granger
09da6cb8af Always use filename as the notebook name. 2012-05-31 14:01:36 -07:00
Brian Granger
4c2e42e9db Make : invalid in filenames in the Notebook JS code. 2012-05-31 13:33:34 -07:00
Brian Granger
4c31453ea7 Making Notebook.set_dirty an event so CodeCell can set it.
This allows code outside notebook.js to set the dirty flag, but
doesn't require that code depend on notebook.js.
2012-05-31 13:29:22 -07:00
Fernando Perez
41665e4483 Ensure that no tests are attempted if numpy or rpy2 are not present.
This prevents both importing of the extension itself and running of
the test suite.
2012-05-31 13:25:03 -07:00
Brian Granger
9826a17ae2 Removing cell from execute callbacks in kernel.js. 2012-05-31 13:24:10 -07:00
Thomas Kluyver
b47a0cfda9 Add assert_in method to nose for Python 2.6 2012-05-31 21:23:29 +01:00
Brian Granger
e817bfdaeb Update directview.ipynb & allowing no-callbacks in kernel.execute. 2012-05-31 13:08:34 -07:00
Brian Granger
9c94c996ae Removing extra call to Kernel.stop_channels. 2012-05-31 13:08:33 -07:00
Takafumi Arakaki
0df931d69a Reduce repeated code regarding restarting events 2012-05-31 13:08:33 -07:00
Takafumi Arakaki
db5393c618 Clear window title when kernel is restarted
When kernel is died and restarted, or restarted while it is in the
busy state, message "(Busy)" on the window title is not updated.  This
problem is fixed by updating document title when restarting.
2012-05-31 13:08:32 -07:00
Matthias BUSSONNIER
9f319f6da9 click on close cancell stick 2012-05-31 13:08:32 -07:00
Matthias BUSSONNIER
366cba5916 retab tab to space 2012-05-31 13:08:32 -07:00
Matthias BUSSONNIER
523ae0c377 fix tooltip keep focus on wrong cell
check that the cell the tooltip is giving focus back is the currently
selected cell
2012-05-31 13:08:31 -07:00
Matthias BUSSONNIER
a083ce93c1 remove less.css 2012-05-31 13:08:31 -07:00
Matthias BUSSONNIER
c06f5b1718 rename show/hide methods to avoid jQuery conflict.
it seem that show and hide methods fron tooltip where collinding with
jquery, sometime blocking the notebook.

Move from css fadeIn/Out to jQuery fade In/Out, and replace
addRemoveClass by fadeIn/fadeOut
2012-05-31 13:08:30 -07:00
Matthias BUSSONNIER
3dc363e1e8 Revert "remove less file"
This reverts commit 8af188d9be201f0dfaea86746705f5ff8b13ab50.
2012-05-31 13:08:30 -07:00
Brian Granger
8bd7e041cf Misc fixes to the code cell and output area. 2012-05-31 13:08:30 -07:00
Brian Granger
32343c5973 Fixed order of notebook loading and kernel starting.
For security reasons, the kernel should not be started until
after the notebook content is completely loaded and on the page.
This prevents people from creating notebooks that run nasty code
on the users machine at load time.

In order to implement this, we had to create a CodeCell.set_kernel
method that allows the kernel attribute of a CodeCell to be set
at a later time.  This also fixes some error messages we were
seeing related to the kernel's channels not being setup properly
when a send was attempted.
2012-05-31 13:08:29 -07:00
Matthias BUSSONNIER
186c995041 rename context-hint to contexthint 2012-05-31 13:08:29 -07:00
Matthias BUSSONNIER
88befeb497 space after function keyword in context-hint 2012-05-31 13:08:29 -07:00
Matthias BUSSONNIER
b1e5e99bcd beautify context-hint.js 2012-05-31 13:08:28 -07:00
Matthias BUSSONNIER
129f114868 Uppercase constant keycode in utils.js 2012-05-31 13:08:28 -07:00
Matthias BUSSONNIER
f3ff31b75a remove CamelCasse methods from completer.js 2012-05-31 13:08:28 -07:00
Matthias BUSSONNIER
b2a04396d8 space before function keyword in js 2012-05-31 13:08:27 -07:00
Matthias BUSSONNIER
ea325c095b beautify completer.js 2012-05-31 13:08:27 -07:00
Matthias BUSSONNIER
0f34ca4346 beautify tooltip.js 2012-05-31 13:08:27 -07:00
Matthias BUSSONNIER
27be46264a remove less file 2012-05-31 13:08:27 -07:00
Matthias BUSSONNIER
8d5d2d2446 shrink less and css, typo in css 2012-05-31 13:08:26 -07:00
Matthias BUSSONNIER
d823325be4 make sticky time configurable 2012-05-31 13:08:26 -07:00
Matthias BUSSONNIER
7d069cd792 Notification + tooltip demo
Use notification to quicky remind use of the tooltip

Use javascript in notebook to make a live demo in
01_notebook_introduction

tooltip docstring is remplaceid for the first use by a live tutorial
2012-05-31 13:08:26 -07:00
Matthias BUSSONNIER
c804c036ec tooltip, pager bring pager
execute xxxx? on behalf of the cell to bring the pager.
2012-05-31 13:08:25 -07:00
Matthias BUSSONNIER
b1a9677cc0 fix less css 2012-05-31 13:08:25 -07:00
Matthias BUSSONNIER
370b723cb6 Revert "remove less CSS"
This reverts commit 185c4ee21a4b658b55d313d1813a5bfeccaa20ef.
2012-05-31 13:08:25 -07:00
Brian Granger
644b1f85ed Fixing bug in prompt_area handling of OutputArea. 2012-05-31 13:08:25 -07:00
Brian Granger
6268e0a4b1 Removing stale code in CodeCell. 2012-05-31 13:08:24 -07:00
Brian Granger
fd4ecebc9d Adding missing var statements in notebook.js. 2012-05-31 13:08:24 -07:00
Brian Granger
b274a86b8c Adding back kernel dead choice for user.
I had removed the choice for the user to not restart a dead kernel
but we are using that elsewhere. Eventually we may not give them
a choice, but for now we will use that model.
2012-05-31 13:08:23 -07:00
Brian Granger
ae2bea23fa Refactored CodeCell to use new OutputArea object for output.
This allows us to have a reusable object for formatting output.
Javascript widgets can now use this to format output as well.
2012-05-31 13:08:23 -07:00
Brian Granger
f306423c7e Adding options to Kernel.execute with a default of silent=true. 2012-05-31 13:08:22 -07:00
Matthias BUSSONNIER
2976d8ea10 fix multiple busy in title bar due to completer 2012-05-31 13:08:22 -07:00
Matthias BUSSONNIER
7301213124 simplify completer logic as we don't exec on behalf of cell
also skip making kernel completion request if kernel is busy
2012-05-31 13:08:22 -07:00
Matthias BUSSONNIER
e8632ff7ee clean code, show clock if tooltip is 'sticky'
- make code more concise
- remove trailing space
- add some animation
- put some function/variable private with leading underscore
2012-05-31 13:08:22 -07:00
Matthias BUSSONNIER
8f33caf0dc make tooltip tabs fonction configurable 2012-05-31 13:08:21 -07:00
Matthias BUSSONNIER
bf5cf0dd3a move some tooltip logic away from codecell.js 2012-05-31 13:08:21 -07:00
Matthias BUSSONNIER
98303f5f7d Clean code, retab and minor fix
remove unused code, convert some tab to space, and correct some
semicolon according to jslint

jlint fixes
2012-05-31 13:08:21 -07:00
Matthias BUSSONNIER
a280495173 remove less CSS 2012-05-31 13:08:21 -07:00
Brian Granger
0d6a698688 Major refactoring of the Notebook, Kernel and CodeCell JavaScript.
* Kernel doesn't depend on Notebook or CodeCell.
* CodeCell doesn't depend on Notebook, only Kernel.
* All of the kernel management logic has been moved out of the
  Notebook into the Kernel.
* Public methods of the Kernel (execute, complete, etc) take
  a callbacks object that registers the callbacks for that msg.

(rebased, cherrypicked, by Bussonnier Matthias <bussonniermatthias@gmail.com>)
(and tabs removed)

Conflicts:

	IPython/frontend/html/notebook/static/js/codecell.js
	IPython/frontend/html/notebook/static/js/completer.js
	IPython/frontend/html/notebook/static/js/tooltip.js
2012-05-31 13:08:20 -07:00
Matthias BUSSONNIER
94d8683400 allow number in tokens 2012-05-31 13:08:20 -07:00
Matthias BUSSONNIER
068a60a8b7 fix print view
construct a completer only if the class exist
otherwise print view won't load.
2012-05-31 13:08:20 -07:00
Matthias BUSSONNIER
507a66235b fix typo that->this 2012-05-31 13:08:20 -07:00
Matthias BUSSONNIER
b6fcb806d6 fix cancel_stick typo 2012-05-31 13:08:20 -07:00
Matthias BUSSONNIER
d7b42270ee remove console.log 2012-05-31 13:08:20 -07:00
Matthias BUSSONNIER
73cc002110 clean and comment tooltip file 2012-05-31 13:08:19 -07:00
Matthias BUSSONNIER
5064568730 should fix click on close works when sticky 2012-05-31 13:08:19 -07:00
Matthias BUSSONNIER
d2f803bff2 multiple tooltip action
consecutives tab pressing with tooltip does :
    - fisrt : show it
    - second :  expand it
    - third : make it sticky for 10s (typing wont dismiss it)
    - forth : send the content into the Pager
2012-05-31 13:08:19 -07:00
Matthias BUSSONNIER
72e3ea89ee remove global 2012-05-31 13:08:19 -07:00
Matthias BUSSONNIER
5d8f0da694 almost all logic in tooltip.js, padding right button 2012-05-31 13:08:19 -07:00
Matthias BUSSONNIER
ca68062413 call tooltip after time 2012-05-31 13:08:18 -07:00
Matthias BUSSONNIER
0bfa18dd46 call tooltip by cell reference 2012-05-31 13:08:18 -07:00
Matthias BUSSONNIER
52d5f3beb2 move arow with tooltip positoin 2012-05-31 13:08:18 -07:00
Matthias BUSSONNIER
fa5aae3f43 shorten prearrow 2012-05-31 13:08:18 -07:00
Matthias BUSSONNIER
17a4f13a81 animation if already shown 2012-05-31 13:08:18 -07:00
Matthias Bussonnier
e0cf20b423 animate tooltip position 2012-05-31 13:08:17 -07:00
Matthias Bussonnier
b26b20e94f fix scrolltop 2012-05-31 13:08:17 -07:00
Matthias Bussonnier
a84a7f03b0 play with tooltip growing css
don't forget to reenqble keyframe with a more
recent less compiler
2012-05-31 13:08:17 -07:00
Matthias Bussonnier
775c9e9317 comment a little 2012-05-31 13:08:17 -07:00
Matthias BUSSONNIER
22a44e79f8 change new tooltip appearence
temporarly (or maybe not) use less css to produce the css for the
    tooltip.
2012-05-31 13:08:17 -07:00
Matthias BUSSONNIER
7b5b591425 improve new tooltip 2012-05-31 13:08:16 -07:00
Matthias BUSSONNIER
b463c64b32 new tooltip style 2012-05-31 13:08:16 -07:00
Matthias Bussonnier
85a09de995 tooltip to mac 2012-05-31 13:08:16 -07:00
Matthias Bussonnier
0247ac16f6 tooltip to mac 2012-05-31 13:08:16 -07:00
Matthias BUSSONNIER
7e7df86761 more cleaning 2012-05-31 13:08:15 -07:00
Matthias BUSSONNIER
cf19389cdd clean code, remove duplicate unused lines 2012-05-31 13:08:15 -07:00
Matthias BUSSONNIER
6a658a6fa8 move more code into the completer itself 2012-05-31 13:08:15 -07:00
Matthias BUSSONNIER
e4784b984b be smarter for context completion
Completion source based on context is smarter and use codemirror token
mecanisme to propose completions, instead of just plitting text at
whitespace and before dots.
2012-05-31 13:08:15 -07:00
Matthias BUSSONNIER
23ef964f06 add ctrlKey.which to utils
and modifies some file to use it
2012-05-31 13:08:15 -07:00
Matthias BUSSONNIER
3919267750 Removing some code that seem not to be usefull anymore
if having problem with Tab Completion try to revese this commit
2012-05-31 13:08:15 -07:00
Matthias BUSSONNIER
cfaa7ba427 import Utils keycodes into the completer 2012-05-31 13:08:14 -07:00
Matthias BUSSONNIER
fa6b8974ea add a keycodes structure to utils
this structure (IPython.utils.keycodes)
    add some common keycodes like tab...etc

    and start modifying codecell.js to use it for better readability
2012-05-31 13:08:14 -07:00
Matthias BUSSONNIER
472fe4c19e fix replace range bug
pylab.l<tab><tab> would be replace by .l because of a bug in common
    start finding .l on the fifth position of pylab.start.
2012-05-31 13:08:14 -07:00
Matthias BUSSONNIER
839b8489c8 comment more 2012-05-31 13:08:14 -07:00
Matthias BUSSONNIER
0fa8b2236a fix and retab javascript 2012-05-31 13:08:14 -07:00
Matthias BUSSONNIER
856c872ba7 use strict and clean a little.
adding 'use strict' in some place to be more agressive on the
    delaration of the variables.

    clean name and details here and there
2012-05-31 13:08:13 -07:00
Matthias BUSSONNIER
5076118509 implement the completer in a separate class
more feature like
-completion based on 2 sources :
    * introspection in kernel
    * context of current cell (complete with matching words)
    * each source has its color in the completer
2012-05-31 13:08:13 -07:00
Fernando Perez
9af0496692 Merge pull request #1811 from minrk/exclusions
Warn on nonexistent exclusions in iptest.  This will help us avoid common and often baffling errors from simple typos, as well as keeping the exclusions list updated as the code evolves.
2012-05-31 12:35:23 -07:00
MinRK
45a3230d70 test for exclusions based on ipython_package_dir 2012-05-31 12:17:51 -07:00
Brian E. Granger
675aa0bbef Merge pull request #1808 from Carreau/alternate-upload-ff
Reposition alternate upload for firefox [need cross browser/OS/language test]
2012-05-31 12:13:18 -07:00
MinRK
cd6fd19fd8 remove stale exclusions revealed by warning 2012-05-31 11:57:13 -07:00
MinRK
65ac94d8f4 warn on nonexistent exclusions 2012-05-31 11:56:06 -07:00
MinRK
3ac79da49c add missing cython exclusion in iptest 2012-05-31 10:06:13 -07:00
Matthias BUSSONNIER
a4dc3f1e3f position upload form for firefox 2012-05-31 18:58:03 +02:00
Bussonnier Matthias
711c2ef6cc Merge pull request #1739 from Carreau/dashboardImprovement
Dashboard improvement

see #1658 #1676

Allow to shutdown the kernels from the dashboard, 
autorefresh dashboard,
add a native upload method, especially for https/chrome/linux that prevent drag and drop
2012-05-31 00:24:14 -07:00
Matthias BUSSONNIER
981738f9e3 change upload sentense 2012-05-31 08:33:52 +02:00
Fernando Perez
c15e0fa132 Merge pull request #1770 from ellisonbg/cython_magic
Cython related magic functions: offers the new cell magics %%cython_inline, %%cython_pyximport and %%cython to make it very easy to put cython-accelerated code in a cell and have it loaded interactively.
2012-05-30 22:17:34 -07:00
Brian Granger
26e8363d46 More code review changes:
* Added extension to the Sphinx docs.
* Fixed unicode issues.
2012-05-30 22:01:34 -07:00
Fernando Perez
5378cba25a Merge pull request #1755 from minrk/pygmentstest
test for pygments before running qt tests, to avoid an error in the test suite itself if pygments isn't present.
2012-05-29 14:04:46 -07:00
Brian E. Granger
13cc762f4c Merge pull request #1630 from minrk/mergekernel
Merge divergent Kernel implementations
2012-05-25 16:43:27 -07:00
Bussonnier Matthias
242d3df5c2 Merge pull request #1705 from Carreau/draggablePager
[notebook] Make pager resizable, and remember size...
2012-05-25 00:20:19 -07:00
Thomas Kluyver
89b6bc664a Merge pull request #1606 from Carreau/loadpycat
Share code for %pycat and %loadpy, make %pycat aware of URLs
2012-05-24 02:26:35 -07:00
Matthias BUSSONNIER
1eeff0e5c8 Revert "esc collapse pager"
This reverts commit c8e47d45dbd7c17293de0d9218e8f52247b79d1d.
2012-05-23 20:35:50 +02:00
MinRK
b037cf18a4 move default log setup to _log_default from init_logging
allows classes to be passed log attribute, avoiding duplicate setup and occasional errors if things are done in the wrong order.
2012-05-22 22:07:23 -07:00
MinRK
1cd79e1461 test for pygments before running qt tests 2012-05-22 14:38:59 -07:00
MinRK
e0cdb267de fix date objects in _reserialize_reply 2012-05-21 22:07:47 -07:00
Matthias BUSSONNIER
73ff1c5cde fix upload button selection by class
superseed #1676 #1658 (and correct bug in 1676 where one con't upload
notebook because of refresh)
2012-05-15 21:57:05 +02:00
Matthias BUSSONNIER
b2291b14dc Drag target bigger for empty notebook dashboard
When no notebooks, show "Notebook list empty", which increase the size
of the drag target.

fixes #1492
2012-05-15 21:54:09 +02:00
Matthias BUSSONNIER
1eae6f060a do not expose enable/disable autorefresh 2012-05-15 21:54:09 +02:00
Matthias BUSSONNIER
40bdd81f5c replace b by strong for semantic, more change in boilerplate 2012-05-15 21:53:22 +02:00
Matthias BUSSONNIER
231e8f93f2 remove underscore in filename 2012-05-15 21:53:22 +02:00
Matthias BUSSONNIER
0ada7dd847 bold click here in dashboard 2012-05-15 21:53:22 +02:00
Matthias BUSSONNIER
ee857f1bd9 remove extra console.log 2012-05-15 21:53:22 +02:00
Matthias BUSSONNIER
d549731d32 add 'Close and halt' in notebook filemenu 2012-05-15 21:53:22 +02:00
Matthias BUSSONNIER
13cf61912b prevent autorefresh when pending upload
don't clear list if 'upload' button are present to avoid clearing the
list and the upload form
2012-05-15 21:53:22 +02:00
Matthias BUSSONNIER
a6f78c90b3 Check for null rather than undefined
set kernel id to None/null if not started
2012-05-15 21:53:21 +02:00
Matthias BUSSONNIER
c20c814a69 space around assignement 2012-05-15 21:53:21 +02:00
Matthias BUSSONNIER
2faee858af rename kernel_status -> kernel_id 2012-05-15 21:53:21 +02:00
Matthias BUSSONNIER
34deb138c8 test kernel for undefined rather than off 2012-05-15 21:53:21 +02:00
Matthias BUSSONNIER
fc59441dda dashboard autorefresh
refresh notebook list and cluster list when :
- page get focus
- every 60 sec when page is on focus

stop refreshing every 60 sec when page loose focus
2012-05-15 21:53:21 +02:00
Matthias BUSSONNIER
a07088dde1 clean unused command 2012-05-15 21:52:29 +02:00
Matthias BUSSONNIER
4af8cb6c9a proof of concept 2012-05-15 21:52:28 +02:00
Matthias BUSSONNIER
473a3947b0 kernel status 2012-05-15 21:52:28 +02:00
Matthias BUSSONNIER
8d673ea086 clean html, style logon form 2012-05-15 21:52:28 +02:00
Matthias BUSSONNIER
275b1040b1 multifile selection 2012-05-15 21:52:28 +02:00
Matthias BUSSONNIER
ca089cc7cf alternate notebook upload methods
fixes #1562
2012-05-15 21:52:28 +02:00
Min RK
c6fedc3456 Merge pull request #1686 from punchagan/notebook-cmd-line
ENH: Open a notebook from the command line

open notebook files from the command line, just
like ipython can open (run) python files.  For example:

     ipython notebook foo.ipynb

closes #945
2012-05-13 16:08:34 -07:00
Matthias BUSSONNIER
293243fcf4 remove references to loadpy
remove most of the references to loadpy across the docs and example
2012-05-11 23:36:22 +02:00
Matthias BUSSONNIER
6acefdacb2 pep 8 and js
space after comma, space around equal, space before if and curly bracket
2012-05-09 14:50:31 +02:00
Matthias BUSSONNIER
4cfd7e9df6 fix firefox compatibility 2012-05-08 09:53:49 +02:00
MinRK
f72eebe15f update with forthcoming MathJax CDN move 2012-05-07 13:18:29 -07:00
Matthias BUSSONNIER
785fbd9d9a esc collapse pager 2012-05-07 12:36:18 +02:00
Puneeth Chaganti
1e9d2f4a1c ENH: Open a notebook from the command line
This commit lets you open notebook files from the command line, just
like ipython can open (run) python files.  For example:

     ipython notebook foo.ipynb

Fixes #945.
2012-05-07 10:27:25 +05:30
Matthias BUSSONNIER
976c433fe4 Make pager resizable, and remember size...
Resizing to small collapse the pager keeping the size to at least 20%
height

(trying to) resize a collapsed pager to more than 10% "expand" it.

Pager can remember it size when toggling by clicking.
2012-05-06 21:08:04 +02:00
Matthias BUSSONNIER
8462288405 fix tooltip on token with number
fixes #1696
allow number in matched token for tooltip, except first position
also prevent matching token starting wit a dot
2012-05-04 09:13:43 +02:00
MinRK
97151aa3b8 revert PR #1659
caused critical problems with subprocess output.

See `!ls` for an example.
2012-04-29 23:52:07 -07:00
Michael Droettboom
a5d7dd8d2b Fix typo in comment 2012-04-27 16:48:04 -04:00
Michael Droettboom
e8be6bbe50 Fix the "test for nothing was streamed" so it doesn't add empty elements -- but only when there wasn't already something there. 2012-04-26 10:00:16 -04:00
Michael Droettboom
50fa35b1cc Handle carriage return characters ("\r") in HTML notebook output. 2012-04-25 13:16:33 -04:00
MinRK
86e3e953da add ioloop.install to backported patches 2012-04-23 16:59:00 -07:00
Fernando Perez
e5e200eaa7 Merge pull request #1621 from ivanov/clear-input-prompt-on-clear-all-output
clear In[] prompt numbers on "Clear All Output"

For more version-control-friendly `.ipynb` files, this strips the `In[]` prompt numbers when doing a "Clear all output".  This reduces the amount of noise in commit-to-commit diffs that would otherwise show the (highly variable) prompt number changes.
2012-04-18 23:06:32 -07:00
MinRK
6419b0b130 include IPython.zmq in iptest groups 2012-04-18 15:32:43 -07:00
Paul Ivanov
06dd2b00c6 clear In[] prompt numbers on "Clear All Output" 2012-04-17 18:48:30 -07:00
MinRK
6e2694a9d9 handle old pyzmq in notebook exit confirmation
* 2.1.7 (earliest dep) will simply not work, so skip it
* 2.1.9-10 log the interrupts, so add a short delay to ensure the log
  messages don't come after the prompt.
2012-04-16 11:59:55 -07:00
MinRK
c5d7d6f08a confirm notebook shutdown on SIGINT
confirmation in bg thread, to avoid blocking
5s timeout before restoring original state if no response

^C^C == confirmation
2012-04-15 23:25:09 -07:00
MinRK
3c19b40d2f exit notebook cleanly on SIGINT, SIGTERM
makes it a bit more likely security files, etc. will be cleaned up.
2012-04-15 12:06:05 -07:00
Fernando Perez
0344f92a62 Merge pull request #1490 from minrk/raw
rename plaintext cell -> raw cell

Raw cells should be *untransformed* when writing various output formats, as the point of them is to let users pass through IPython to their rendered document format (rst, latex, etc.).  This is different from what is the logical meaning of 'plaintext', which would suggest that the contents should be preserved as unformatted plaintext (e.g. in a `<pre>` tag, or literal block).

In the UI, these cells will be displayed as 'Raw Text'.

WARNING: any existing v3 notebooks which use plaintext cells, when read in by versions after this merge, will silently rename those cells to 'raw'.  But if such a notebook is uploaded into a pre-merge IPython, cells labeled as 'raw' will simply *not be displayed*.
2012-04-14 17:46:25 -07:00
MinRK
e7a45e9454 add VERSIONHACK markers for never-released plaintext handling 2012-04-14 16:02:53 -07:00
Fernando Perez
526d842289 Merge pull request #1502 from minrk/pyflakes
small changes in response to pyflakes pass

Only significant change: removes incomplete kernelstarter file, which shouldn't have been in the repo at all.

closes #1499
2012-04-14 02:33:29 -07:00
Fernando Perez
98ac51808e Merge pull request #1563 from minrk/clear_output
clear_output improvements, which allow things like progress bars and other simple animations to work well in the notebook.

* `clear_output()` clears the line, even in terminal IPython, the QtConsole and plain Python as well, by printing `\r` to streams.

* `clear_output()` avoids the flicker in the notebook by adding a delay, and firing immediately upon the next actual display message.

* `display_javascript` hides its `output_area` element, so using display to run a bunch of javascript doesn't result in ever-growing vertical space.
2012-04-13 21:12:23 -07:00
Fernando Perez
14d29450a3 Merge pull request #1560 from minrk/testdocs
remove obsolete discussion of Twisted/trial from testing docs

We don't use trial anymore, so these docs were no longer accurate.

closes #1558
2012-04-13 20:31:32 -07:00
MinRK
9cb1559d5e document initially hidden javascript container 2012-04-09 15:35:29 -07:00
MinRK
c21be2f386 hide output_area for js
prevents growing vertical space from adding empty output_areas.
2012-04-09 15:35:29 -07:00
MinRK
5c6c247b65 [notebook] clear_output is handled after a delay
This reduces flicker during common loops like:

for step in stuff:
    clear_output()
    print something

the timeout is flushed *immediately* on any subsequent output.
2012-04-09 15:35:28 -07:00
MinRK
fe92e50471 remove a few more obsolete twisted notes 2012-04-09 11:01:21 -07:00
MinRK
124037690e use os.getcwdu in NotebookManager
prevents unicode error when starting in non-unicode path.
2012-04-04 09:48:29 -06:00
MinRK
fd2cc9d19e make MultiKernelManager.kernel_manager_class configurable
This allows deployments to use customized KernelManager subclasses via config.
2012-03-31 19:24:38 -07:00
MinRK
600acfb694 fix sorting profiles in clustermanager 2012-03-16 14:52:06 -07:00
MinRK
f9438de710 small changes in response to pyflakes pass
removes incomplete kernelstarter file, which shouldn't be in the repo at all yet.
2012-03-15 15:54:20 -07:00
MinRK
9927cec392 denote raw cell with 'Raw Text' in UI 2012-03-14 15:07:55 -07:00
MinRK
f036c032c7 interpret 'plaintext' cells with their new name 'raw' 2012-03-14 12:45:28 -07:00
MinRK
9ffc7829da rename plaintext cell -> raw cell 2012-03-13 17:31:39 -07:00
MinRK
9d80f8522c use DummyIPClusterStart to load config in notebook ClusterManager
ensures that config loading matches what would happen in ipcluster.

The only change needed in IPClusterStart itself was moving the on_stop registration from init_launchers to start_controller, where it should have been anyway.
2012-03-08 12:21:51 -08:00
Brian Granger
19322be14d Chaging # of engines format in cluster list. 2012-03-08 11:37:28 -08:00
Brian Granger
24510c6e00 Sort profiles in cluster tab. 2012-03-08 11:31:04 -08:00
Brian Granger
c0a87aa940 Notebook cluster manager now uses proper launchers. 2012-03-08 11:27:31 -08:00
Brian Granger
dbefa745fd On tab select, the URL is updated. 2012-03-08 11:27:31 -08:00
Brian Granger
35ffb5500a Cluster management is now working.
You can start/stop clusters in the notebook with a very simple UI. More to do,
but this is a start.
2012-03-08 11:27:30 -08:00
Brian Granger
5df969af5c Fixing tab design. 2012-03-08 11:27:30 -08:00
Brian Granger
34d784a5ab Draft of the cluster list UI.
Not functional yet, but the idea is there.
2012-03-08 11:27:30 -08:00
Brian Granger
b819fbfe8f Initial try at adding tabs to project dashboard. 2012-03-08 11:27:30 -08:00
Brian Granger
3631fae153 Major refactoring of notebook.
* Created new base page html/css/js.
* Everything inherits from the page template.
* Universal header border.
* Notebook list borders are set to 1px all around.
* No border around notebook area.
* Border cleanup of toolbar/menubar.
* Lots of code reorg to get ready for further refactoring.
2012-03-08 11:27:29 -08:00
Brian Granger
6dc7b078b9 Refactoring templates and top level js/css organization. 2012-03-08 11:27:29 -08:00
Brian Granger
f19a63759b First version of cluster web service.
This exposes ipcluster's over the web. The current implementation
uses IPClusterLauncher to run ipcluster in a separate process.
Here is the URL scheme we are using:

GET /clusters => list available clusters
GET /cluster/profile => list info for cluster with profile
POST /cluster/profile/start => start a cluster
POST /cluster/profile/stop => stop a cluster
2012-03-08 11:27:29 -08:00
Brian E. Granger
6b5a5f0b36 Merge pull request #1450 from minrk/httpsmathjax
load mathjax from CDN via https.
2012-02-29 15:27:45 -08:00
MinRK
8de583a6cd include heading level in JSON
adds level-including to/fromJSON methods to HeadingCell
2012-02-28 14:21:05 -08:00
MinRK
83c5470bf7 load mathjax from CDN via https
Amazon CloudFront (MathJax's CDN) supports HTTPS, but their SSL certificate only applies to *.cloudfront.net urls.  This retrieves the cloudfront host at runtime, and loads MathJax from there via HTTPS.
2012-02-28 13:53:48 -08:00
MinRK
7ad2568d53 fix inverted self.browser logic 2012-02-20 10:00:50 -05:00
Min RK
ea945fa31c Merge pull request #1406 from ivanov/browser-selection
adds new `NotebookApp.browser` configurable and corresponding `--browser` alias for specifying which browser should be launched with the notebook landing page.
2012-02-18 18:39:31 -08:00
Paul Ivanov
6ee29b4c72 be more explicit about how --browser value is used 2012-02-14 14:26:31 -08:00
Paul Ivanov
407c8ee6d7 added --browser option to notebook
now you can specify --browser=firefox when starting ipython notebook
2012-02-13 19:15:32 -08:00
Paul Ivanov
7b9099041d document how to select browser for notebook 2012-02-13 18:11:54 -08:00
Thomas Kluyver
7d849a2f70 Only monkeypatch xunit when the tests are run using it. 2012-02-13 23:17:05 +00:00
Thomas
c926a2872c Merge pull request #1395 from takluyver/xunit-kf
Make Xunit count KnownFailure tests as skipped, not failures.
2012-02-12 03:49:28 -08:00
Brian E. Granger
d0c445a63c Merge pull request #1386 from ellisonbg/jsd3
Adding Javascript output handling to the notebook.
2012-02-09 17:47:36 -08:00
Thomas Kluyver
4f947c2877 Make separate function to monkeypatch Xunit. 2012-02-09 20:20:19 +00:00
Thomas Kluyver
5773f8cd1d Monkeypatch Xunit to count known failures as skips, not errors. 2012-02-09 19:52:20 +00:00
Min RK
6b2cb224cd Merge pull request #1353 from takluyver/i1345
Save notebook as script using unicode file handle.

Using io.open(), which is the Python 3 open() in 2.6 and above.

Closes #1345
2012-02-08 15:14:47 -08:00
Brian Granger
6c9a7d0d41 Fixing Cell menu to update cell type select box. 2012-02-07 12:02:54 -08:00
Brian Granger
5ef2e06a42 Javascript output is not run on notebook loading and paste's. 2012-02-07 09:18:23 -08:00
Brian Granger
893572d3ad Wired up the javascript display protocol using eval. 2012-02-07 08:57:06 -08:00
Brian E. Granger
cd0810ee25 Merge pull request #1370 from minrk/draft76
allow draft76 websockets (Safari)
2012-02-06 10:59:13 -08:00
Brian E. Granger
b3fb9c474b Merge pull request #1368 from minrk/asciipatterns
Ensure handler patterns are str, not unicode
2012-02-06 10:51:39 -08:00
MinRK
8cfd9dcf6e allow draft76 websockets (Safari)
Safari still uses draft76, and Tornado 2.2.0 release disables the
access from the draft version by default for security reasons.
This simply sets the tornado flag to True, so we can continue
to support Safari until it upgrades to the RFC 6455 implementation.
2012-02-02 22:31:42 -08:00
MinRK
7607bb6a5b Ensure handler patterns are str, not unicode
Python < 2.6.5 doesn't accept unicode keys in f(**kwargs), and
base_project_url will always be unicode, which will in turn
make the patterns unicode, and ultimately result in unicode
keys in kwargs to handler._execute(**kwargs) in tornado.
This enforces that base_project_url be ascii in that situation.

Note that the URLs these patterns check against are escaped,
and thus guaranteed to be ASCII: 'héllo' is really 'h%C3%A9llo'.

If you actually use u'héllo' in your regex, it will not match the URLs
you think it should.
2012-02-02 15:18:54 -08:00
Brian Granger
f387e52610 Proper error handling for nbformat versions in client code.
1. Users are warned when an older nbformat notebook is converted.
2. The notebook notifies the user when a notebook that is too new
   is attempted to load.

To test these things, create a simple notebook. Then change its
nbformat field by hand to 2 (to test 1) and then 4 (to test 2).
2012-02-01 15:46:14 -08:00
Brian Granger
1ffb5ff262 Making keyboard shortcut for showing line numbers consistent. 2012-02-01 14:43:58 -08:00
Brian Granger
f9ce3fa493 Fixing #1337. Tooltip stops TAB from being handled by others.
Pressing TAB to get the tooltip "range(TAB" was inserting a TAB.
To get rid of this we are now telling CodeMirror to ignore it
and also stopping the event from bubbling up the DOM.
2012-02-01 10:26:07 -08:00