Show More
@@ -2,7 +2,7 b'' | |||
|
2 | 2 | """ |
|
3 | 3 | Classes for handling input/output prompts. |
|
4 | 4 | |
|
5 |
$Id: Prompts.py 100 |
|
|
5 | $Id: Prompts.py 1020 2006-01-14 13:22:58Z vivainio $""" | |
|
6 | 6 | |
|
7 | 7 | #***************************************************************************** |
|
8 | 8 | # Copyright (C) 2001-2006 Fernando Perez <fperez@colorado.edu> |
@@ -525,19 +525,11 b' class CachedOutput:' | |||
|
525 | 525 | def _display(self,arg): |
|
526 | 526 | """Default printer method, uses pprint. |
|
527 | 527 | |
|
528 | This can be over-ridden by the users to implement special formatting | |
|
529 | of certain types of output.""" | |
|
530 | ||
|
531 | if self.Pprint: | |
|
532 | out = pformat(arg) | |
|
533 | if '\n' in out: | |
|
534 | # So that multi-line strings line up with the left column of | |
|
535 | # the screen, instead of having the output prompt mess up | |
|
536 | # their first line. | |
|
537 | Term.cout.write('\n') | |
|
538 | print >>Term.cout, out | |
|
539 | else: | |
|
540 | print >>Term.cout, arg | |
|
528 | Do ip.set_hook("result_display", my_displayhook) for custom result | |
|
529 | display, e.g. when your own objects need special formatting. | |
|
530 | """ | |
|
531 | ||
|
532 | self.shell.hooks.result_display(arg) | |
|
541 | 533 | |
|
542 | 534 | # Assign the default display method: |
|
543 | 535 | display = _display |
@@ -32,7 +32,7 b" ip_set_hook('editor',myiphooks.calljed)" | |||
|
32 | 32 | The ip_set_hook function is put by IPython into the builtin namespace, so it |
|
33 | 33 | is always available from all running code. |
|
34 | 34 | |
|
35 |
$Id: hooks.py 10 |
|
|
35 | $Id: hooks.py 1020 2006-01-14 13:22:58Z vivainio $""" | |
|
36 | 36 | |
|
37 | 37 | #***************************************************************************** |
|
38 | 38 | # Copyright (C) 2005 Fernando Perez. <fperez@colorado.edu> |
@@ -47,10 +47,12 b' __license__ = Release.license' | |||
|
47 | 47 | __version__ = Release.version |
|
48 | 48 | |
|
49 | 49 | import os,bisect |
|
50 | from genutils import Term | |
|
51 | from pprint import pformat | |
|
50 | 52 | |
|
51 | 53 | # List here all the default hooks. For now it's just the editor functions |
|
52 | 54 | # but over time we'll move here all the public API for user-accessible things. |
|
53 | __all__ = ['editor', 'fix_error_editor'] | |
|
55 | __all__ = ['editor', 'fix_error_editor', 'result_display'] | |
|
54 | 56 | |
|
55 | 57 | def editor(self,filename, linenum=None): |
|
56 | 58 | """Open the default editor at the given filename and linenumber. |
@@ -133,4 +135,15 b' class CommandChainDispatcher:' | |||
|
133 | 135 | """ Add a func to the cmd chain with given priority """ |
|
134 | 136 | bisect.insort(self.chain,(priority,func)) |
|
135 | 137 | |
|
138 | def result_display(self,arg): | |
|
139 | if self.rc.pprint: | |
|
140 | out = pformat(arg) | |
|
141 | if '\n' in out: | |
|
142 | # So that multi-line strings line up with the left column of | |
|
143 | # the screen, instead of having the output prompt mess up | |
|
144 | # their first line. | |
|
145 | Term.cout.write('\n') | |
|
146 | print >>Term.cout, out | |
|
147 | else: | |
|
148 | print >>Term.cout, arg | |
|
136 | 149 | No newline at end of file |
@@ -13,8 +13,8 b'' | |||
|
13 | 13 | as "chain of command", with priority. API stays the same, |
|
14 | 14 | TryNext exception raised by a hook function signals that |
|
15 | 15 | current hook failed and next hook should try handling it, as |
|
16 | suggested by Walter Dörwald <walter@livinglogic.de>. | |
|
17 | ||
|
16 | suggested by Walter Dörwald <walter@livinglogic.de>. Walter also | |
|
17 | requested configurable display hook, which is now implemented. | |
|
18 | 18 | |
|
19 | 19 | 2006-01-13 Ville Vainio <vivainio@gmail.com> |
|
20 | 20 |
General Comments 0
You need to be logged in to leave comments.
Login now