File tree 2 files changed +10
-6
lines changed
2 files changed +10
-6
lines changed Original file line number Diff line number Diff line change 4
4
from .pager import page
5
5
6
6
# Ugly monkeypatching
7
- pydoc .pager = page
7
+ pydoc .pager = page # type: ignore
8
8
9
9
10
10
class _Helper :
Original file line number Diff line number Diff line change 20
20
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
21
# THE SOFTWARE.
22
22
23
+ # mypy: disallow_untyped_defs=True
24
+ # mypy: disallow_untyped_calls=True
23
25
24
26
import curses
25
27
import errno
28
30
import subprocess
29
31
import sys
30
32
import shlex
33
+ from typing import List
31
34
32
35
33
- def get_pager_command (default = "less -rf" ):
36
+ def get_pager_command (default : str = "less -rf" ) -> List [ str ] :
34
37
command = shlex .split (os .environ .get ("PAGER" , default ))
35
38
return command
36
39
37
40
38
- def page_internal (data ) :
41
+ def page_internal (data : str ) -> None :
39
42
"""A more than dumb pager function."""
40
43
if hasattr (pydoc , "ttypager" ):
41
44
pydoc .ttypager (data )
42
45
else :
43
46
sys .stdout .write (data )
44
47
45
48
46
- def page (data , use_internal = False ):
49
+ def page (data : str , use_internal : bool = False ) -> None :
47
50
command = get_pager_command ()
48
51
if not command or use_internal :
49
52
page_internal (data )
50
53
else :
51
54
curses .endwin ()
52
55
try :
53
56
popen = subprocess .Popen (command , stdin = subprocess .PIPE )
54
- data = data .encode (sys .__stdout__ .encoding , "replace" )
55
- popen .stdin .write (data )
57
+ assert popen .stdin is not None
58
+ data_bytes = data .encode (sys .__stdout__ .encoding , "replace" )
59
+ popen .stdin .write (data_bytes )
56
60
popen .stdin .close ()
57
61
except OSError as e :
58
62
if e .errno == errno .ENOENT :
You can’t perform that action at this time.
0 commit comments