brintos

brintos / llvm-project-archived public Read only

0
0
Text · 987 B · 0b70fd1 Raw
40 lines · python
1#!/usr/bin/env python32import argparse3import os4import sys5 6BASE_PATH = os.path.dirname(os.path.abspath(__file__))7HTML_TEMPLATE_NAME = "d3-graphviz-template.html"8HTML_TEMPLATE_PATH = os.path.join(BASE_PATH, HTML_TEMPLATE_NAME)9 10 11def main():12    parser = argparse.ArgumentParser()13    parser.add_argument(14        "dotfile",15        nargs="?",16        type=argparse.FileType("r"),17        default=sys.stdin,18        help="Input .dot file, reads from stdin if not set",19    )20    parser.add_argument(21        "htmlfile",22        nargs="?",23        type=argparse.FileType("w"),24        default=sys.stdout,25        help="Output .html file, writes to stdout if not set",26    )27    args = parser.parse_args()28 29    template = open(HTML_TEMPLATE_PATH, "r")30 31    for line in template:32        if "<INSERT_DOT>" in line:33            print(args.dotfile.read(), file=args.htmlfile, end="")34        else:35            print(line, file=args.htmlfile, end="")36 37 38if __name__ == "__main__":39    main()40