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