\n
%s
\n'
% esc(translation["name"])]
for key, label in SECTION_LABELS:
group = [b for b in books if b["section"] == key]
if not group:
continue
out.append('
\n' % key)
out.append(" %s
\n \n" % esc(label))
for book in group:
out.append(' - %s '
'%d
\n'
% (book["code"], esc(book["name"]), len(book["chapters"])))
out.append("
\n \n")
out.append('
\n'
% (esc(translation["name"]), esc(translation["license"])))
out.append("
\n")
path = os.path.join(out_dir, "index.html")
with open(path, "w", encoding="utf-8") as fh:
fh.write("".join(out))
return path
def main(argv=None):
ap = argparse.ArgumentParser(description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
ap.add_argument("-i", "--input", default="bible.json",
help="JSON from extract_bible.py (default: bible.json)")
ap.add_argument("-o", "--out", default="books",
help="output directory (default: books)")
args = ap.parse_args(argv)
with open(args.input, encoding="utf-8") as fh:
data = json.load(fh)
os.makedirs(args.out, exist_ok=True)
total = 0
for book in data["books"]:
path = render_book(book, data["translation"], args.out)
total += os.path.getsize(path)
render_index(data["books"], data["translation"], args.out)
print("books %d" % len(data["books"]), file=sys.stderr)
print("html %.1f MB total, %.0f KB average"
% (total / 1e6, total / len(data["books"]) / 1e3), file=sys.stderr)
print("wrote %s/" % args.out, file=sys.stderr)
return 0
if __name__ == "__main__":
sys.exit(main())