input_func.py 1.0 KB

1234567891011121314151617181920212223242526272829
  1. #!/usr/bin/env python3
  2. # this script is used both for interactive and automated testing
  3. import sys,os
  4. os.chdir(os.path.dirname(os.path.dirname(os.path.abspath(os.path.dirname(sys.argv[0])))))
  5. sys.path[0] = os.curdir
  6. from mmgen.common import *
  7. cmd_args = opts.init({'text': { 'desc': '', 'usage':'', 'options':'-e, --echo-passphrase foo' }})
  8. if cmd_args[0] == 'passphrase':
  9. from mmgen.ui import get_words_from_user
  10. pw = get_words_from_user(
  11. ('Enter passphrase: ','Enter passphrase (echoed): ')[bool(opt.echo_passphrase)] )
  12. msg('Entered: {}'.format(' '.join(pw)))
  13. elif cmd_args[0] in ('get_char','line_input'):
  14. from mmgen.term import get_char
  15. from mmgen.ui import line_input
  16. from ast import literal_eval
  17. func_args = literal_eval(cmd_args[1])
  18. Msg(f'\n term: {get_char.__self__.__name__}')
  19. Msg(f' g.hold_protect_disable: {g.hold_protect_disable}')
  20. Msg(' {name}( {args} )'.format(
  21. name = cmd_args[0],
  22. args = ', '.join(f'{k}={v!r}' for k,v in func_args.items())
  23. ))
  24. ret = locals()[cmd_args[0]](**func_args)
  25. Msg(' ==> {!r}'.format(ret))