MCPcopy Index your code
hub / github.com/ipython/ipython / page_dumb

Function page_dumb

IPython/core/page.py:57–79  ·  view source on GitHub ↗

Very dumb 'pager' in Python, for when nothing else works. Only moves forward, same interface as page(), except for pager_cmd and mode.

(strng, start=0, screen_lines=25)

Source from the content-addressed store, hash-verified

55esc_re = re.compile(r"(\x1b[^m]+m)")
56
57def page_dumb(strng, start=0, screen_lines=25):
58 """Very dumb 'pager' in Python, for when nothing else works.
59
60 Only moves forward, same interface as page(), except for pager_cmd and
61 mode.
62 """
63 if isinstance(strng, dict):
64 strng = strng.get('text/plain', '')
65 out_ln = strng.splitlines()[start:]
66 screens = chop(out_ln,screen_lines-1)
67 if len(screens) == 1:
68 print(os.linesep.join(screens[0]))
69 else:
70 last_escape = ""
71 for scr in screens[0:-1]:
72 hunk = os.linesep.join(scr)
73 print(last_escape + hunk)
74 if not page_more():
75 return
76 esc_list = esc_re.findall(hunk)
77 if len(esc_list) > 0:
78 last_escape = esc_list[-1]
79 print(last_escape + os.linesep.join(screens[-1]))
80
81def _detect_screen_size(screen_lines_def):
82 """Attempt to work out the number of lines on the screen.

Callers 1

pager_pageFunction · 0.85

Calls 3

chopFunction · 0.90
page_moreFunction · 0.85
getMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…