Show More
@@ -256,16 +256,6 b' class BaseIPythonApplication(Application):' | |||
|
256 | 256 | # Various stages of Application creation |
|
257 | 257 | #------------------------------------------------------------------------- |
|
258 | 258 | |
|
259 | deprecated_subcommands = {} | |
|
260 | ||
|
261 | def initialize_subcommand(self, subc, argv=None): | |
|
262 | if subc in self.deprecated_subcommands: | |
|
263 | self.log.warning("Subcommand `ipython {sub}` is deprecated and will be removed " | |
|
264 | "in future versions.".format(sub=subc)) | |
|
265 | self.log.warning("You likely want to use `jupyter {sub}` in the " | |
|
266 | "future".format(sub=subc)) | |
|
267 | return super(BaseIPythonApplication, self).initialize_subcommand(subc, argv) | |
|
268 | ||
|
269 | 259 | def init_crash_handler(self): |
|
270 | 260 | """Create a crash handler, typically setting sys.excepthook to it.""" |
|
271 | 261 | self.crash_handler = self.crash_handler_class(self) |
@@ -144,22 +144,15 b' def BdbQuit_excepthook(et, ev, tb, excepthook=None):' | |||
|
144 | 144 | All other exceptions are processed using the `excepthook` |
|
145 | 145 | parameter. |
|
146 | 146 | """ |
|
147 | warnings.warn("`BdbQuit_excepthook` is deprecated since version 5.1", | |
|
148 | DeprecationWarning, stacklevel=2) | |
|
149 | if et == bdb.BdbQuit: | |
|
150 | print('Exiting Debugger.') | |
|
151 | elif excepthook is not None: | |
|
152 | excepthook(et, ev, tb) | |
|
153 | else: | |
|
154 | # Backwards compatibility. Raise deprecation warning? | |
|
155 | BdbQuit_excepthook.excepthook_ori(et, ev, tb) | |
|
147 | raise ValueError( | |
|
148 | "`BdbQuit_excepthook` is deprecated since version 5.1", | |
|
149 | ) | |
|
156 | 150 | |
|
157 | 151 | |
|
158 | 152 | def BdbQuit_IPython_excepthook(self, et, ev, tb, tb_offset=None): |
|
159 | warnings.warn( | |
|
153 | raise ValueError( | |
|
160 | 154 | "`BdbQuit_IPython_excepthook` is deprecated since version 5.1", |
|
161 | 155 | DeprecationWarning, stacklevel=2) |
|
162 | print('Exiting Debugger.') | |
|
163 | 156 | |
|
164 | 157 | |
|
165 | 158 | RGX_EXTRA_INDENT = re.compile(r'(?<=\n)\s+') |
@@ -835,11 +835,9 b' class JSONFormatter(BaseFormatter):' | |||
|
835 | 835 | # unpack data, metadata tuple for type checking on first element |
|
836 | 836 | r, md = r |
|
837 | 837 | |
|
838 | # handle deprecated JSON-as-string form from IPython < 3 | |
|
839 |
|
|
|
840 | warnings.warn("JSON expects JSONable list/dict containers, not JSON strings", | |
|
841 | FormatterWarning) | |
|
842 | r = json.loads(r) | |
|
838 | assert not isinstance( | |
|
839 | r, str | |
|
840 | ), "JSON-as-string has been deprecated since IPython < 3" | |
|
843 | 841 | |
|
844 | 842 | if md is not None: |
|
845 | 843 | # put the tuple back together |
@@ -906,7 +906,11 b' class InteractiveShell(SingletonConfigurable):' | |||
|
906 | 906 | |
|
907 | 907 | if _warn_deprecated and (name in IPython.core.hooks.deprecated): |
|
908 | 908 | alternative = IPython.core.hooks.deprecated[name] |
|
909 | warn("Hook {} is deprecated. Use {} instead.".format(name, alternative), stacklevel=2) | |
|
909 | raise ValueError( | |
|
910 | "Hook {} has been deprecated since IPython 5.0. Use {} instead.".format( | |
|
911 | name, alternative | |
|
912 | ) | |
|
913 | ) | |
|
910 | 914 | |
|
911 | 915 | if not dp: |
|
912 | 916 | dp = IPython.core.hooks.CommandChainDispatcher() |
@@ -933,9 +937,10 b' class InteractiveShell(SingletonConfigurable):' | |||
|
933 | 937 | |
|
934 | 938 | Register a function for calling after code execution. |
|
935 | 939 | """ |
|
936 | warn("ip.register_post_execute is deprecated, use " | |
|
937 | "ip.events.register('post_run_cell', func) instead.", stacklevel=2) | |
|
938 |
|
|
|
940 | raise ValueError( | |
|
941 | "ip.register_post_execute is deprecated since IPython 1.0, use " | |
|
942 | "ip.events.register('post_run_cell', func) instead." | |
|
943 | ) | |
|
939 | 944 | |
|
940 | 945 | def _clear_warning_registry(self): |
|
941 | 946 | # clear the warning registry, so that different code blocks with |
@@ -98,11 +98,6 b' shell_aliases = dict(' | |||
|
98 | 98 | ) |
|
99 | 99 | shell_aliases['cache-size'] = 'InteractiveShell.cache_size' |
|
100 | 100 | |
|
101 | if traitlets.version_info < (5, 0): | |
|
102 | # traitlets 4 doesn't handle lists on CLI | |
|
103 | shell_aliases["ext"] = "InteractiveShellApp.extra_extension" | |
|
104 | ||
|
105 | ||
|
106 | 101 | #----------------------------------------------------------------------------- |
|
107 | 102 | # Main classes and functions |
|
108 | 103 | #----------------------------------------------------------------------------- |
@@ -126,17 +121,6 b' class InteractiveShellApp(Configurable):' | |||
|
126 | 121 | help="A list of dotted module names of IPython extensions to load." |
|
127 | 122 | ).tag(config=True) |
|
128 | 123 | |
|
129 | extra_extension = Unicode( | |
|
130 | "", | |
|
131 | help=""" | |
|
132 | DEPRECATED. Dotted module name of a single extra IPython extension to load. | |
|
133 | ||
|
134 | Only one extension can be added this way. | |
|
135 | ||
|
136 | Only used with traitlets < 5.0, plural extra_extensions list is used in traitlets 5. | |
|
137 | """, | |
|
138 | ).tag(config=True) | |
|
139 | ||
|
140 | 124 | extra_extensions = List( |
|
141 | 125 | DottedObjectName(), |
|
142 | 126 | help=""" |
@@ -293,8 +277,6 b' class InteractiveShellApp(Configurable):' | |||
|
293 | 277 | extensions = ( |
|
294 | 278 | self.default_extensions + self.extensions + self.extra_extensions |
|
295 | 279 | ) |
|
296 | if self.extra_extension: | |
|
297 | extensions.append(self.extra_extension) | |
|
298 | 280 | for ext in extensions: |
|
299 | 281 | try: |
|
300 | 282 | self.log.info("Loading IPython extension: %s" % ext) |
@@ -430,18 +430,6 b' def test_ipython_display_formatter():' | |||
|
430 | 430 | f.ipython_display_formatter.enabled = save_enabled |
|
431 | 431 | |
|
432 | 432 | |
|
433 | def test_json_as_string_deprecated(): | |
|
434 | class JSONString(object): | |
|
435 | def _repr_json_(self): | |
|
436 | return '{}' | |
|
437 | ||
|
438 | f = JSONFormatter() | |
|
439 | with warnings.catch_warnings(record=True) as w: | |
|
440 | d = f(JSONString()) | |
|
441 | assert d == {} | |
|
442 | assert len(w) == 1 | |
|
443 | ||
|
444 | ||
|
445 | 433 | def test_repr_mime(): |
|
446 | 434 | class HasReprMime(object): |
|
447 | 435 | def _repr_mimebundle_(self, include=None, exclude=None): |
@@ -262,22 +262,6 b' class TerminalIPythonApp(BaseIPythonApplication, InteractiveShellApp):' | |||
|
262 | 262 | # internal, not-configurable |
|
263 | 263 | something_to_run=Bool(False) |
|
264 | 264 | |
|
265 | def parse_command_line(self, argv=None): | |
|
266 | """override to allow old '-pylab' flag with deprecation warning""" | |
|
267 | ||
|
268 | argv = sys.argv[1:] if argv is None else argv | |
|
269 | ||
|
270 | if '-pylab' in argv: | |
|
271 | # deprecated `-pylab` given, | |
|
272 | # warn and transform into current syntax | |
|
273 | argv = argv[:] # copy, don't clobber | |
|
274 | idx = argv.index('-pylab') | |
|
275 | warnings.warn("`-pylab` flag has been deprecated.\n" | |
|
276 | " Use `--matplotlib <backend>` and import pylab manually.") | |
|
277 | argv[idx] = '--pylab' | |
|
278 | ||
|
279 | return super(TerminalIPythonApp, self).parse_command_line(argv) | |
|
280 | ||
|
281 | 265 | @catch_config_error |
|
282 | 266 | def initialize(self, argv=None): |
|
283 | 267 | """Do actions after construct, but before starting the app.""" |
@@ -67,20 +67,6 b' def get_long_path_name(path):' | |||
|
67 | 67 | return _get_long_path_name(path) |
|
68 | 68 | |
|
69 | 69 | |
|
70 | def unquote_filename(name, win32=(sys.platform=='win32')): | |
|
71 | """ On Windows, remove leading and trailing quotes from filenames. | |
|
72 | ||
|
73 | This function has been deprecated and should not be used any more: | |
|
74 | unquoting is now taken care of by :func:`IPython.utils.process.arg_split`. | |
|
75 | """ | |
|
76 | warn("'unquote_filename' is deprecated since IPython 5.0 and should not " | |
|
77 | "be used anymore", DeprecationWarning, stacklevel=2) | |
|
78 | if win32: | |
|
79 | if name.startswith(("'", '"')) and name.endswith(("'", '"')): | |
|
80 | name = name[1:-1] | |
|
81 | return name | |
|
82 | ||
|
83 | ||
|
84 | 70 | def compress_user(path): |
|
85 | 71 | """Reverse of :func:`os.path.expanduser` |
|
86 | 72 | """ |
@@ -89,7 +75,7 b' def compress_user(path):' | |||
|
89 | 75 | path = "~" + path[len(home):] |
|
90 | 76 | return path |
|
91 | 77 | |
|
92 |
def get_py_filename(name |
|
|
78 | def get_py_filename(name): | |
|
93 | 79 | """Return a valid python filename in the current directory. |
|
94 | 80 | |
|
95 | 81 | If the given name is not a file, it adds '.py' and searches again. |
@@ -97,10 +83,6 b' def get_py_filename(name, force_win32=None):' | |||
|
97 | 83 | """ |
|
98 | 84 | |
|
99 | 85 | name = os.path.expanduser(name) |
|
100 | if force_win32 is not None: | |
|
101 | warn("The 'force_win32' argument to 'get_py_filename' is deprecated " | |
|
102 | "since IPython 5.0 and should not be used anymore", | |
|
103 | DeprecationWarning, stacklevel=2) | |
|
104 | 86 | if not os.path.isfile(name) and not name.endswith('.py'): |
|
105 | 87 | name += '.py' |
|
106 | 88 | if os.path.isfile(name): |
@@ -253,36 +235,6 b' def get_xdg_cache_dir():' | |||
|
253 | 235 | return None |
|
254 | 236 | |
|
255 | 237 | |
|
256 | @undoc | |
|
257 | def get_ipython_dir(): | |
|
258 | warn("get_ipython_dir has moved to the IPython.paths module since IPython 4.0.", DeprecationWarning, stacklevel=2) | |
|
259 | from IPython.paths import get_ipython_dir | |
|
260 | return get_ipython_dir() | |
|
261 | ||
|
262 | @undoc | |
|
263 | def get_ipython_cache_dir(): | |
|
264 | warn("get_ipython_cache_dir has moved to the IPython.paths module since IPython 4.0.", DeprecationWarning, stacklevel=2) | |
|
265 | from IPython.paths import get_ipython_cache_dir | |
|
266 | return get_ipython_cache_dir() | |
|
267 | ||
|
268 | @undoc | |
|
269 | def get_ipython_package_dir(): | |
|
270 | warn("get_ipython_package_dir has moved to the IPython.paths module since IPython 4.0.", DeprecationWarning, stacklevel=2) | |
|
271 | from IPython.paths import get_ipython_package_dir | |
|
272 | return get_ipython_package_dir() | |
|
273 | ||
|
274 | @undoc | |
|
275 | def get_ipython_module_path(module_str): | |
|
276 | warn("get_ipython_module_path has moved to the IPython.paths module since IPython 4.0.", DeprecationWarning, stacklevel=2) | |
|
277 | from IPython.paths import get_ipython_module_path | |
|
278 | return get_ipython_module_path(module_str) | |
|
279 | ||
|
280 | @undoc | |
|
281 | def locate_profile(profile='default'): | |
|
282 | warn("locate_profile has moved to the IPython.paths module since IPython 4.0.", DeprecationWarning, stacklevel=2) | |
|
283 | from IPython.paths import locate_profile | |
|
284 | return locate_profile(profile=profile) | |
|
285 | ||
|
286 | 238 | def expand_path(s): |
|
287 | 239 | """Expand $VARS and ~names in a string, like a shell |
|
288 | 240 |
@@ -62,6 +62,7 b' if resource is not None and hasattr(resource, "getrusage"):' | |||
|
62 | 62 | Similar to clock(), but return a tuple of user/system times.""" |
|
63 | 63 | return resource.getrusage(resource.RUSAGE_SELF)[:2] |
|
64 | 64 | |
|
65 | ||
|
65 | 66 | else: |
|
66 | 67 | # There is no distinction of user/system time under windows, so we just use |
|
67 | 68 | # time.perff_counter() for everything... |
General Comments 0
You need to be logged in to leave comments.
Login now