Add beginnings of a Python user interface:
[easyotp.git] / EasyOTP.py
blobaa086de99372277fa6ec26633c015e7792c62b29
1 #!/bin/env python
2 import popen2
4 def decode(ct):
5 o, i, e = popen2.popen3("./cotp -d")
6 i.write(ct)
7 i.close()
8 pt = o.read()
9 errors = e.read()
10 if errors:
11 raise errors
12 return pt
14 # TODO: support padname
15 def encode(pt):
16 o, i, e = popen2.popen3("./cotp -e")
17 i.write(pt)
18 i.close()
19 ct = o.read()
20 errors = e.read()
21 if errors:
22 raise errors
23 return ct
25 if __name__ == "__main__":
26 ct = encode("hello world")
27 print ct
28 pt = decode(ct)
29 print ct
30 assert ct == "hello world", "decode failed to match"