blob: bc0e63dcc34aa35f2a1379a471d13166378f6d52 [file] [log] [blame]
Philipp Schrader45721a72022-04-02 16:27:53 -07001"""Generates index.html with the right checksum for main_bundle_file.js filled in."""
2
3import argparse
4import hashlib
5import sys
6from pathlib import Path
7
Ravago Jones5127ccc2022-07-31 16:32:45 -07008
Philipp Schrader45721a72022-04-02 16:27:53 -07009def compute_sha256(filepath):
10 return hashlib.sha256(filepath.read_bytes()).hexdigest()
11
Ravago Jones5127ccc2022-07-31 16:32:45 -070012
Philipp Schrader45721a72022-04-02 16:27:53 -070013def main(argv):
14 parser = argparse.ArgumentParser()
15 parser.add_argument("--template", type=str)
16 parser.add_argument("--bundle", type=str)
17 parser.add_argument("--output", type=str)
18 args = parser.parse_args(argv[1:])
19
20 template = Path(args.template).read_text()
21 bundle_path = Path(args.bundle)
22 bundle_sha256 = compute_sha256(bundle_path)
23
24 output = template.format(
Ravago Jones5127ccc2022-07-31 16:32:45 -070025 MAIN_BUNDLE_FILE=f"/sha256/{bundle_sha256}/{bundle_path.name}", )
Philipp Schrader45721a72022-04-02 16:27:53 -070026 Path(args.output).write_text(output)
27
Ravago Jones5127ccc2022-07-31 16:32:45 -070028
Philipp Schrader45721a72022-04-02 16:27:53 -070029if __name__ == "__main__":
30 sys.exit(main(sys.argv))