From 078f33ac1bcdb28d9cb64c932630291c376383b7 Mon Sep 17 00:00:00 2001
From: Stanislav Bohm <stanislav.bohm@vsb.cz>
Date: Fri, 21 Oct 2016 13:54:01 +0200
Subject: [PATCH] ENH: --write-graph option for rview

---
 src/rview/rview.py | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/rview/rview.py b/src/rview/rview.py
index ea15b54..aa67fc0 100644
--- a/src/rview/rview.py
+++ b/src/rview/rview.py
@@ -22,6 +22,9 @@ def parse_args():
     parser.add_argument("--show-graph",
                         action="store_true")
 
+    parser.add_argument("--write-graph",
+                        metavar="FILENAME")
+
     parser.add_argument("--show-trace",
                         action="store_true")
 
@@ -43,6 +46,12 @@ def show_graph(report):
     run_program(("xdot", "-"), dot)
 
 
+def write_graph(report, filename):
+    dot = report.create_graph().make_dot("Plan")
+    with open(filename, "w") as f:
+        f.write(dot)
+
+
 def show_trace(report):
     plt.ion()
     plt.gca().invert_yaxis()
@@ -69,12 +78,16 @@ def main():
         empty = False
         show_graph(report)
 
+    if args.write_graph:
+        empty = False
+        write_graph(report, args.write_graph)
+
     if args.show_trace:
         empty = False
         show_trace(report)
 
     if empty:
-        sys.stderr.write("No operation specified\n")
+        sys.stderr.write("No operation specified (use --help)\n")
 
 if __name__ == "__main__":
     main()
-- 
GitLab