apenwarr-redo/docs/cookbook/container/default.sha256.do
Avery Pennarun 3923a7d3f8 cookbook/container: example of building+running docker containers.
This got... long... and complicated.  But I think it's a really good
demonstration of getting redo to do complicated things elegantly.  At
least, I hope it is.
2019-01-08 01:42:33 -05:00

16 lines
337 B
Text

#!/usr/bin/env python
"""Calculate the sha256 digest of a given file."""
import hashlib, os, subprocess, sys
subprocess.check_call([
'redo-ifchange',
sys.argv[2],
])
h = hashlib.sha256()
f = open(sys.argv[2])
while 1:
b = f.read(65536)
if not b: break
h.update(b)
open(sys.argv[3], 'w').write(h.hexdigest() + '\n')