Show More
@@ -44,10 +44,13 b' from .error import TryNext' | |||
|
44 | 44 | # List here all the default hooks. For now it's just the editor functions |
|
45 | 45 | # but over time we'll move here all the public API for user-accessible things. |
|
46 | 46 | |
|
47 | __all__ = ['editor', 'synchronize_with_editor', | |
|
48 | 'shutdown_hook', 'late_startup_hook', | |
|
49 | 'show_in_pager','pre_prompt_hook', | |
|
50 | 'pre_run_code_hook', 'clipboard_get'] | |
|
47 | __all__ = [ | |
|
48 | "editor", | |
|
49 | "synchronize_with_editor", | |
|
50 | "show_in_pager", | |
|
51 | "pre_prompt_hook", | |
|
52 | "clipboard_get", | |
|
53 | ] | |
|
51 | 54 | |
|
52 | 55 | deprecated = {'pre_run_code_hook': "a callback for the 'pre_execute' or 'pre_run_cell' event", |
|
53 | 56 | 'late_startup_hook': "a callback for the 'shell_initialized' event", |
@@ -132,23 +135,6 b' class CommandChainDispatcher:' | |||
|
132 | 135 | return iter(self.chain) |
|
133 | 136 | |
|
134 | 137 | |
|
135 | def shutdown_hook(self): | |
|
136 | """ default shutdown hook | |
|
137 | ||
|
138 | Typically, shutdown hooks should raise TryNext so all shutdown ops are done | |
|
139 | """ | |
|
140 | ||
|
141 | #print "default shutdown hook ok" # dbg | |
|
142 | return | |
|
143 | ||
|
144 | ||
|
145 | def late_startup_hook(self): | |
|
146 | """ Executed after ipython has been constructed and configured | |
|
147 | ||
|
148 | """ | |
|
149 | #print "default startup hook ok" # dbg | |
|
150 | ||
|
151 | ||
|
152 | 138 | def show_in_pager(self, data, start, screen_lines): |
|
153 | 139 | """ Run a string through pager """ |
|
154 | 140 | # raising TryNext here will use the default paging functionality |
@@ -165,11 +151,6 b' def pre_prompt_hook(self):' | |||
|
165 | 151 | return None |
|
166 | 152 | |
|
167 | 153 | |
|
168 | def pre_run_code_hook(self): | |
|
169 | """ Executed before running the (prefiltered) code in IPython """ | |
|
170 | return None | |
|
171 | ||
|
172 | ||
|
173 | 154 | def clipboard_get(self): |
|
174 | 155 | """ Get text from the clipboard. |
|
175 | 156 | """ |
@@ -561,7 +561,6 b' class InteractiveShell(SingletonConfigurable):' | |||
|
561 | 561 | self.init_pdb() |
|
562 | 562 | self.init_extension_manager() |
|
563 | 563 | self.init_payload() |
|
564 | self.hooks.late_startup_hook() | |
|
565 | 564 | self.events.trigger('shell_initialized', self) |
|
566 | 565 | atexit.register(self.atexit_operations) |
|
567 | 566 | |
@@ -868,13 +867,12 b' class InteractiveShell(SingletonConfigurable):' | |||
|
868 | 867 | for hook_name in hooks.__all__: |
|
869 | 868 | # default hooks have priority 100, i.e. low; user hooks should have |
|
870 | 869 | # 0-100 priority |
|
871 |
self.set_hook(hook_name,getattr(hooks,hook_name), 100 |
|
|
870 | self.set_hook(hook_name, getattr(hooks, hook_name), 100) | |
|
872 | 871 | |
|
873 | 872 | if self.display_page: |
|
874 | 873 | self.set_hook('show_in_pager', page.as_hook(page.display_page), 90) |
|
875 | 874 | |
|
876 |
def set_hook(self,name,hook, priority=50, str_key=None, re_key=None |
|
|
877 | _warn_deprecated=True): | |
|
875 | def set_hook(self, name, hook, priority=50, str_key=None, re_key=None): | |
|
878 | 876 | """set_hook(name,hook) -> sets an internal IPython hook. |
|
879 | 877 | |
|
880 | 878 | IPython exposes some of its internal API as user-modifiable hooks. By |
@@ -904,7 +902,7 b' class InteractiveShell(SingletonConfigurable):' | |||
|
904 | 902 | print("Warning! Hook '%s' is not one of %s" % \ |
|
905 | 903 | (name, IPython.core.hooks.__all__ )) |
|
906 | 904 | |
|
907 |
if |
|
|
905 | if name in IPython.core.hooks.deprecated: | |
|
908 | 906 | alternative = IPython.core.hooks.deprecated[name] |
|
909 | 907 | raise ValueError( |
|
910 | 908 | "Hook {} has been deprecated since IPython 5.0. Use {} instead.".format( |
@@ -3247,7 +3245,6 b' class InteractiveShell(SingletonConfigurable):' | |||
|
3247 | 3245 | outflag = True # happens in more places, so it's easier as default |
|
3248 | 3246 | try: |
|
3249 | 3247 | try: |
|
3250 | self.hooks.pre_run_code_hook() | |
|
3251 | 3248 | if async_: |
|
3252 | 3249 | await eval(code_obj, self.user_global_ns, self.user_ns) |
|
3253 | 3250 | else: |
@@ -3631,9 +3628,6 b' class InteractiveShell(SingletonConfigurable):' | |||
|
3631 | 3628 | del self.tempdirs |
|
3632 | 3629 | |
|
3633 | 3630 | |
|
3634 | # Run user hooks | |
|
3635 | self.hooks.shutdown_hook() | |
|
3636 | ||
|
3637 | 3631 | def cleanup(self): |
|
3638 | 3632 | self.restore_sys_module_state() |
|
3639 | 3633 |
General Comments 0
You need to be logged in to leave comments.
Login now