Show More
@@ -116,13 +116,14 b' from IPython.core import debugger' | |||||
116 | from IPython.core.display_trap import DisplayTrap |
|
116 | from IPython.core.display_trap import DisplayTrap | |
117 | from IPython.core.excolors import exception_colors |
|
117 | from IPython.core.excolors import exception_colors | |
118 | from IPython.utils import PyColorize |
|
118 | from IPython.utils import PyColorize | |
119 | from IPython.utils import openpy |
|
|||
120 | from IPython.utils import path as util_path |
|
119 | from IPython.utils import path as util_path | |
121 | from IPython.utils import py3compat |
|
120 | from IPython.utils import py3compat | |
122 | from IPython.utils.data import uniq_stable |
|
121 | from IPython.utils.data import uniq_stable | |
123 | from IPython.utils.terminal import get_terminal_size |
|
122 | from IPython.utils.terminal import get_terminal_size | |
124 | from logging import info, error, debug |
|
123 | from logging import info, error, debug | |
125 |
|
124 | |||
|
125 | from importlib.util import source_from_cache | |||
|
126 | ||||
126 | import IPython.utils.colorable as colorable |
|
127 | import IPython.utils.colorable as colorable | |
127 |
|
128 | |||
128 | # Globals |
|
129 | # Globals | |
@@ -906,7 +907,7 b' class VerboseTB(TBTools):' | |||||
906 | elif file.endswith(('.pyc', '.pyo')): |
|
907 | elif file.endswith(('.pyc', '.pyo')): | |
907 | # Look up the corresponding source file. |
|
908 | # Look up the corresponding source file. | |
908 | try: |
|
909 | try: | |
909 |
file = |
|
910 | file = source_from_cache(file) | |
910 | except ValueError: |
|
911 | except ValueError: | |
911 | # Failed to get the source file for some reason |
|
912 | # Failed to get the source file for some reason | |
912 | # E.g. https://github.com/ipython/ipython/issues/9486 |
|
913 | # E.g. https://github.com/ipython/ipython/issues/9486 |
@@ -116,10 +116,9 b' import traceback' | |||||
116 | import types |
|
116 | import types | |
117 | import weakref |
|
117 | import weakref | |
118 | from importlib import import_module |
|
118 | from importlib import import_module | |
|
119 | from importlib.util import source_from_cache | |||
119 | from imp import reload |
|
120 | from imp import reload | |
120 |
|
121 | |||
121 | from IPython.utils import openpy |
|
|||
122 |
|
||||
123 | #------------------------------------------------------------------------------ |
|
122 | #------------------------------------------------------------------------------ | |
124 | # Autoreload functionality |
|
123 | # Autoreload functionality | |
125 | #------------------------------------------------------------------------------ |
|
124 | #------------------------------------------------------------------------------ | |
@@ -195,7 +194,7 b' class ModuleReloader(object):' | |||||
195 | py_filename = filename |
|
194 | py_filename = filename | |
196 | else: |
|
195 | else: | |
197 | try: |
|
196 | try: | |
198 |
py_filename = |
|
197 | py_filename = source_from_cache(filename) | |
199 | except ValueError: |
|
198 | except ValueError: | |
200 | return None, None |
|
199 | return None, None | |
201 |
|
200 |
@@ -103,15 +103,3 b" def read_py_url(url, errors='replace', skip_encoding_cookie=True):" | |||||
103 | response = urlopen(url) |
|
103 | response = urlopen(url) | |
104 | buffer = io.BytesIO(response.read()) |
|
104 | buffer = io.BytesIO(response.read()) | |
105 | return source_to_unicode(buffer, errors, skip_encoding_cookie) |
|
105 | return source_to_unicode(buffer, errors, skip_encoding_cookie) | |
106 |
|
||||
107 | def _list_readline(x): |
|
|||
108 | """Given a list, returns a readline() function that returns the next element |
|
|||
109 | with each call. |
|
|||
110 | """ |
|
|||
111 | x = iter(x) |
|
|||
112 | def readline(): |
|
|||
113 | return next(x) |
|
|||
114 | return readline |
|
|||
115 |
|
||||
116 | # Code for going between .py files and cached .pyc files ---------------------- |
|
|||
117 | from importlib.util import source_from_cache, cache_from_source |
|
@@ -29,11 +29,3 b' def test_source_to_unicode():' | |||||
29 |
|
29 | |||
30 | source_no_cookie = openpy.source_to_unicode(source_bytes, skip_encoding_cookie=True) |
|
30 | source_no_cookie = openpy.source_to_unicode(source_bytes, skip_encoding_cookie=True) | |
31 | nt.assert_not_in(u'coding: iso-8859-5', source_no_cookie) |
|
31 | nt.assert_not_in(u'coding: iso-8859-5', source_no_cookie) | |
32 |
|
||||
33 | def test_list_readline(): |
|
|||
34 | l = ['a', 'b'] |
|
|||
35 | readline = openpy._list_readline(l) |
|
|||
36 | nt.assert_equal(readline(), 'a') |
|
|||
37 | nt.assert_equal(readline(), 'b') |
|
|||
38 | with nt.assert_raises(StopIteration): |
|
|||
39 | readline() No newline at end of file |
|
General Comments 0
You need to be logged in to leave comments.
Login now