def __call__()

in otp.py [0:0]


  def __call__(self, parser, namespace, values, option_string=None):
    # Test the to_words() function.
    value = b'\x9E\x87\x61\x34\xD9\x04\x99\xDD'
    words = ' '.join(to_words(value))
    assert words == MD5_TESTS[0][3]
    print('CORRECT:')
    print('  ', ' '.join('%02x%02x' % (value[i*2], value[i*2+1]) for i in range(4)), '--', words)

    # Run the tests from RFC 2289.
    print('COLUMNS:','Password', 'Seed', 'Count')
    for pwd, seed, seq, result in MD5_TESTS:
      value = otp_md5(seed.lower().encode() + pwd.encode(), seq)
      print('P:'+pwd, 'S:'+seed, 'C:'+str(seq))
      words = ' '.join(to_words(value))
      print('  ', ' '.join('%02x%02x' % (value[i*2], value[i*2+1]) for i in range(4)), '--', words)
      assert words == result

    sys.exit(0)