-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsnus.py
59 lines (49 loc) · 1.91 KB
/
snus.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/python3
from sys import argv
import encode, decode, argparse, const
def interactive_snus():
cmds_dict = {
"snus" : encode.encode,
"unsnus": decode.decode,
"hjelp": lambda cmd,msg: const.INTERACTIVE_HELP
}
format = args.format
print("snuscode interactive prompt v2.0")
print(const.HELP_REMINDER)
print(const.EXIT_REMINDER)
while(True):
inp = input(">>> ").split()
cmd, message = inp[0], " ".join(inp[1:])
if " ".join(inp[0:2]) == "tank you":
return
elif cmd == "setformat":
if message in const.VALID_FORMATS:
format = message
print(const.FORMAT_SUCCESS, format)
else:
print(const.INVALID_FORMAT)
elif cmd == "formats":
print("Available Formats:")
[print(f) for f in const.VALID_FORMATS]
elif cmd in cmds_dict:
print(cmds_dict[cmd](message, format))
else:
print(const.INVALID_CMD)
def main():
if isinstance(args.message, str):
message = args.message
else:
message = " ".join(args.message)
if args.message == "":
interactive_snus()
elif args.mode == "snus":
print(encode.encode(message, args.format))
elif args.mode == "unsnus":
print(decode.decode(message, args.format))
if __name__=="__main__":
parser = argparse.ArgumentParser()
parser.add_argument("message", help="The message to be encoded/decoded", nargs="?", default="")
parser.add_argument('-mode', help='Specify whether to encode or decode msg', default="snus", choices=("snus", "unsnus"))
parser.add_argument("-format", help="Specify the format to use", nargs="?", default="auto", choices=const.VALID_FORMATS)
args = parser.parse_args()
main()