| OLD | NEW |
| (Empty) |
| 1 from os import path, listdir | |
| 2 from hashlib import sha512, sha256, md5 | |
| 3 from base64 import b64encode | |
| 4 import re | |
| 5 | |
| 6 JS_DIR = path.normpath(path.join(__file__, "..", "..")) | |
| 7 | |
| 8 ''' | |
| 9 Yield each file in the javascript directory | |
| 10 ''' | |
| 11 def js_files(): | |
| 12 for f in listdir(JS_DIR): | |
| 13 if path.isfile(f) and f.endswith(".js"): | |
| 14 yield f | |
| 15 | |
| 16 ''' | |
| 17 URL-safe base64 encode a binary digest and strip any padding. | |
| 18 ''' | |
| 19 def format_digest(digest): | |
| 20 return b64encode(digest) | |
| 21 | |
| 22 ''' | |
| 23 Generate an encoded sha512 URI. | |
| 24 ''' | |
| 25 def sha512_uri(content): | |
| 26 return "sha512-%s" % format_digest(sha512(content).digest()) | |
| 27 | |
| 28 ''' | |
| 29 Generate an encoded sha256 URI. | |
| 30 ''' | |
| 31 def sha256_uri(content): | |
| 32 return "sha256-%s" % format_digest(sha256(content).digest()) | |
| 33 | |
| 34 ''' | |
| 35 Generate an encoded md5 digest URI. | |
| 36 ''' | |
| 37 def md5_uri(content): | |
| 38 return "md5-%s" % format_digest(md5(content).digest()) | |
| 39 | |
| 40 def main(): | |
| 41 for file in js_files(): | |
| 42 print "Generating content for %s" % file | |
| 43 base = path.splitext(path.basename(file))[0] | |
| 44 var_name = re.sub(r"[^a-z0-9]", "_", base) | |
| 45 content = "%s=true;" % var_name | |
| 46 with open(file, "w") as f: f.write(content) | |
| 47 print "\tSHA512 integrity: %s" % sha512_uri(content) | |
| 48 print "\tSHA256 integrity: %s" % sha256_uri(content) | |
| 49 print "\tMD5 integrity: %s" % md5_uri(content) | |
| 50 | |
| 51 if __name__ == "__main__": | |
| 52 main() | |
| OLD | NEW |