make_url.py 560 B

123456789101112131415161718
  1. from concrete_syntax.common import indent
  2. import urllib.parse
  3. import webbrowser
  4. def make_url(graphviz_txt: str, engine="dot") -> str:
  5. as_digraph = f"digraph {{\n{indent(graphviz_txt, 2)}\n}}"
  6. # This one seems much faster:
  7. return f"https://edotor.net/?engine={engine}#{urllib.parse.quote(as_digraph)}"
  8. # Keeping this one here just in case:
  9. # return "https://dreampuf.github.io/GraphvizOnline/#"+urllib.parse.quote(graphviz)
  10. def show_graphviz(graphviz_txt: str, engine="dot"):
  11. return webbrowser.open(make_url(graphviz_txt, engine))