##// END OF EJS Templates
Fix a couple of types annotation and actual types errors....
Matthias Bussonnier -
Show More
@@ -129,7 +129,7 b' import warnings'
129
129
130 from contextlib import contextmanager
130 from contextlib import contextmanager
131 from importlib import import_module
131 from importlib import import_module
132 from typing import Iterator, List
132 from typing import Iterator, List, Tuple, Iterable, Union
133 from types import SimpleNamespace
133 from types import SimpleNamespace
134
134
135 from traitlets.config.configurable import Configurable
135 from traitlets.config.configurable import Configurable
@@ -365,7 +365,7 b' class Completion:'
365 ``IPython.python_matches``, ``IPython.magics_matches``...).
365 ``IPython.python_matches``, ``IPython.magics_matches``...).
366 """
366 """
367
367
368 def __init__(self, start: int, end: int, text: str, *, type: str=None, _origin=''):
368 def __init__(self, start: int, end: int, text: str, *, type: str=None, _origin='') -> None:
369 warnings.warn("``Completion`` is a provisional API (as of IPython 6.0). "
369 warnings.warn("``Completion`` is a provisional API (as of IPython 6.0). "
370 "It may change without warnings. "
370 "It may change without warnings. "
371 "Use in corresponding context manager.",
371 "Use in corresponding context manager.",
@@ -398,7 +398,7 b' class Completion:'
398 return hash((self.start, self.end, self.text))
398 return hash((self.start, self.end, self.text))
399
399
400
400
401 _IC = Iterator[Completion]
401 _IC = Iterable[Completion]
402
402
403
403
404 def _deduplicate_completions(text: str, completions: _IC)-> _IC:
404 def _deduplicate_completions(text: str, completions: _IC)-> _IC:
@@ -736,12 +736,12 b' def match_dict_keys(keys: List[str], prefix: str, delims: str):'
736
736
737 Parameters
737 Parameters
738 ==========
738 ==========
739 keys:
739 keys:
740 list of keys in dictionary currently being completed.
740 list of keys in dictionary currently being completed.
741 prefix:
741 prefix:
742 Part of the text already typed by the user. e.g. `mydict[b'fo`
742 Part of the text already typed by the user. e.g. `mydict[b'fo`
743 delims:
743 delims:
744 String of delimiters to consider when finding the current key.
744 String of delimiters to consider when finding the current key.
745
745
746 Returns
746 Returns
747 =======
747 =======
@@ -800,7 +800,7 b' def match_dict_keys(keys: List[str], prefix: str, delims: str):'
800 return quote, token_start, matched
800 return quote, token_start, matched
801
801
802
802
803 def cursor_to_position(text:int, line:int, column:int)->int:
803 def cursor_to_position(text:str, line:int, column:int)->int:
804 """
804 """
805
805
806 Convert the (line,column) position of the cursor in text to an offset in a
806 Convert the (line,column) position of the cursor in text to an offset in a
@@ -830,7 +830,7 b' def cursor_to_position(text:int, line:int, column:int)->int:'
830
830
831 return sum(len(l) + 1 for l in lines[:line]) + column
831 return sum(len(l) + 1 for l in lines[:line]) + column
832
832
833 def position_to_cursor(text:str, offset:int)->(int, int):
833 def position_to_cursor(text:str, offset:int)->Tuple[int, int]:
834 """
834 """
835 Convert the position of the cursor in text (0 indexed) to a line
835 Convert the position of the cursor in text (0 indexed) to a line
836 number(0-indexed) and a column number (0-indexed) pair
836 number(0-indexed) and a column number (0-indexed) pair
@@ -1828,7 +1828,7 b' class IPCompleter(Completer):'
1828 return self._complete(line_buffer=line_buffer, cursor_pos=cursor_pos, text=text, cursor_line=0)[:2]
1828 return self._complete(line_buffer=line_buffer, cursor_pos=cursor_pos, text=text, cursor_line=0)[:2]
1829
1829
1830 def _complete(self, *, cursor_line, cursor_pos, line_buffer=None, text=None,
1830 def _complete(self, *, cursor_line, cursor_pos, line_buffer=None, text=None,
1831 full_text=None, return_jedi_results=True) -> (str, List[str], List[object]):
1831 full_text=None, return_jedi_results=True) -> Tuple[str, List[str], List[str], Iterable[_FakeJediCompletion]]:
1832 """
1832 """
1833
1833
1834 Like complete but can also returns raw jedi completions as well as the
1834 Like complete but can also returns raw jedi completions as well as the
@@ -1868,7 +1868,7 b' class IPCompleter(Completer):'
1868 for meth in (self.unicode_name_matches, back_latex_name_matches, back_unicode_name_matches):
1868 for meth in (self.unicode_name_matches, back_latex_name_matches, back_unicode_name_matches):
1869 name_text, name_matches = meth(base_text)
1869 name_text, name_matches = meth(base_text)
1870 if name_text:
1870 if name_text:
1871 return name_text, name_matches, [meth.__qualname__]*len(name_matches), {}
1871 return name_text, name_matches, [meth.__qualname__]*len(name_matches), ()
1872
1872
1873
1873
1874 # If no line buffer is given, assume the input text is all there was
1874 # If no line buffer is given, assume the input text is all there was
@@ -1922,12 +1922,12 b' class IPCompleter(Completer):'
1922 filtered_matches.add(m)
1922 filtered_matches.add(m)
1923 seen.add(t)
1923 seen.add(t)
1924
1924
1925 filtered_matches = sorted(
1925 _filtered_matches = sorted(
1926 set(filtered_matches), key=lambda x: completions_sorting_key(x[0]))
1926 set(filtered_matches), key=lambda x: completions_sorting_key(x[0]))
1927
1927
1928 matches = [m[0] for m in filtered_matches]
1928 _matches = [m[0] for m in _filtered_matches]
1929 origins = [m[1] for m in filtered_matches]
1929 origins = [m[1] for m in _filtered_matches]
1930
1930
1931 self.matches = matches
1931 self.matches = _matches
1932
1932
1933 return text, matches, origins, completions
1933 return text, _matches, origins, completions
@@ -28,22 +28,8 b' from IPython.utils.py3compat import bytes_to_str'
28 from IPython.utils.sysinfo import get_sys_info
28 from IPython.utils.sysinfo import get_sys_info
29 from IPython.utils.tempdir import TemporaryDirectory
29 from IPython.utils.tempdir import TemporaryDirectory
30
30
31 try:
31 def popen_wait(p, timeout):
32 # Python >= 3.3
32 return p.wait(timeout)
33 from subprocess import TimeoutExpired
34 def popen_wait(p, timeout):
35 return p.wait(timeout)
36 except ImportError:
37 class TimeoutExpired(Exception):
38 pass
39 def popen_wait(p, timeout):
40 """backport of Popen.wait from Python 3"""
41 for i in range(int(10 * timeout)):
42 if p.poll() is not None:
43 return
44 time.sleep(0.1)
45 if p.poll() is None:
46 raise TimeoutExpired
47
33
48 class TestController(object):
34 class TestController(object):
49 """Run tests in a subprocess
35 """Run tests in a subprocess
General Comments 0
You need to be logged in to leave comments. Login now