Skip to content

Commit cd3f1dc

Browse files
committed
Adding python script lzss.py which allows to encode/decode binary files via LZSS
1 parent b35fcf1 commit cd3f1dc

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

Diff for: extras/tools/lzss.py

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/python3
2+
3+
import sys
4+
import ctypes
5+
6+
LZSS_SO_FILE = "./lzss.so"
7+
8+
if len(sys.argv) != 4:
9+
print ("Usage: lzss.py --[encode|decode] sketch.bin sketch.lzss")
10+
sys.exit()
11+
12+
lzss_functions = ctypes.CDLL(LZSS_SO_FILE)
13+
14+
mode = sys.argv[1]
15+
ifile = sys.argv[2]
16+
ofile = sys.argv[3]
17+
18+
b_ifile = ifile.encode('utf-8')
19+
b_ofile = ofile.encode('utf-8')
20+
21+
if mode == "--encode":
22+
lzss_functions.encode_file.argtypes = [ctypes.c_char_p, ctypes.c_char_p]
23+
lzss_functions.encode_file(b_ifile, b_ofile)
24+
elif mode == "--decode":
25+
lzss_functions.decode_file.argtypes = [ctypes.c_char_p, ctypes.c_char_p]
26+
lzss_functions.decode_file(b_ifile, b_ofile)
27+
else:
28+
print ("Error, invalid mode parameter, use --encode or --decode")

0 commit comments

Comments
 (0)