term_ni.py 783 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/env python3
  2. import sys, os
  3. os.chdir(os.path.dirname(os.path.dirname(os.path.abspath(os.path.dirname(sys.argv[0])))))
  4. sys.path[0] = os.curdir
  5. from mmgen.cfg import Config
  6. cfg = Config()
  7. from mmgen.util import msg
  8. from mmgen.term import init_term, get_term
  9. init_term(cfg)
  10. term = get_term()
  11. match sys.argv[1]:
  12. case 'echo':
  13. from mmgen.ui import line_input
  14. from mmgen.term import get_char_raw
  15. def test_noecho():
  16. term.init(noecho=True)
  17. ret = line_input(cfg, 'noecho> ')
  18. msg(f'==> [{ret.upper()}]')
  19. get_char_raw()
  20. def test_echo():
  21. term.set('echo')
  22. ret = line_input(cfg, 'echo> ')
  23. msg(f'==> [{ret.upper()}]')
  24. test_noecho()
  25. test_echo()
  26. test_noecho()
  27. case 'cleanup':
  28. term.register_cleanup()
  29. import tty
  30. tty.setcbreak(term.stdin_fd)