| # SPDX-License-Identifier: GPL-2.0 | |
| import os | |
| import subprocess | |
| import tempfile | |
| def pr_with_pager_if_needed(text): | |
| try: | |
| nr_terminal_lines = os.get_terminal_size().lines | |
| except: | |
| nr_terminal_lines = 50 | |
| if text.count('\n') <= nr_terminal_lines: | |
| print(text) | |
| return | |
| fd, tmp_path = tempfile.mkstemp(prefix='damo_show-') | |
| with open(tmp_path, 'w') as f: | |
| f.write(text) | |
| subprocess.call(['less', '--RAW-CONTROL-CHARS', '--no-init', tmp_path]) | |
| os.remove(tmp_path) |