From: Amir Ayupov Date: Thu, 2 Jun 2022 06:37:04 +0000 (-0700) Subject: [BOLT][UTILS] Add dot2html helper tool to embed dot into html X-Git-Tag: upstream/15.0.7~6093 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=51c20e5804a2371aeade317038db85affa8d9a38;p=platform%2Fupstream%2Fllvm.git [BOLT][UTILS] Add dot2html helper tool to embed dot into html To be rendered in browser using d3-graphviz. Example: {F23169510} Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D126218 --- diff --git a/bolt/utils/dot2html/d3-graphviz-template.html b/bolt/utils/dot2html/d3-graphviz-template.html new file mode 100644 index 0000000..c86f779 --- /dev/null +++ b/bolt/utils/dot2html/d3-graphviz-template.html @@ -0,0 +1,85 @@ + + + + + + +
+ diff --git a/bolt/utils/dot2html/dot2html.py b/bolt/utils/dot2html/dot2html.py new file mode 100755 index 0000000..07a1faa --- /dev/null +++ b/bolt/utils/dot2html/dot2html.py @@ -0,0 +1,29 @@ +#!/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 "" in line: + print(args.dotfile.read(), file=args.htmlfile, end='') + else: + print(line, file=args.htmlfile, end='') + +if __name__ == "__main__": + main()