Viewing file: blake2b2s.py (1.18 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/python3
import os import re
HERE = os.path.dirname(os.path.abspath(__file__)) BLAKE2 = os.path.join(HERE, 'impl')
PUBLIC_SEARCH = re.compile(r'\ int (blake2[bs]p?[a-z_]*)\(')
def getfiles(): for name in os.listdir(BLAKE2): name = os.path.join(BLAKE2, name) if os.path.isfile(name): yield name
def find_public(): public_funcs = set() for name in getfiles(): with open(name) as f: for line in f: # find public functions mo = PUBLIC_SEARCH.search(line) if mo: public_funcs.add(mo.group(1))
for f in sorted(public_funcs): print('#define {0:<18} PyBlake2_{0}'.format(f))
return public_funcs
def main(): lines = [] with open(os.path.join(HERE, 'blake2b_impl.c')) as f: for line in f: line = line.replace('blake2b', 'blake2s') line = line.replace('BLAKE2b', 'BLAKE2s') line = line.replace('BLAKE2B', 'BLAKE2S') lines.append(line) with open(os.path.join(HERE, 'blake2s_impl.c'), 'w') as f: f.write(''.join(lines)) # find_public()
if __name__ == '__main__': main()
|