From 96afc912e5f7d52e5391ba7ede9492fca7a49cd9 Mon Sep 17 00:00:00 2001
From: daxid <david.rouquet@tetras-libre.fr>
Date: Tue, 17 Jan 2023 14:33:58 +0000
Subject: [PATCH] add svg output

---
 config.sample.ini      |  1 +
 convert_text_to_amr.py | 21 +++++++++++++++++++--
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/config.sample.ini b/config.sample.ini
index 0a6ebd95..da1a9f2b 100644
--- a/config.sample.ini
+++ b/config.sample.ini
@@ -10,6 +10,7 @@ SENTENCE_SUFFIX = .sentence.txt
 PENMAN_AMR_GRAPH_SUFFIX = .stog.amr.penman
 DOT_AMR_GRAPH_SUFFIX = .stog.amr.dot
 PNG_AMR_GRAPH_SUFFIX = .stog.amr.png
+SVG_AMR_GRAPH_SUFFIX = .stog.amr.svg
 AMR_RDF_SUFFIX = .stog.amr.nt
 AMR_TTL_SUFFIX = .stog.amr.ttl
 
diff --git a/convert_text_to_amr.py b/convert_text_to_amr.py
index fe6df82a..1b0fda28 100644
--- a/convert_text_to_amr.py
+++ b/convert_text_to_amr.py
@@ -44,6 +44,7 @@ SENTENCE_SUFFIX = config['PARAM']['SENTENCE_SUFFIX']
 PENMAN_AMR_GRAPH_SUFFIX = config['PARAM']['PENMAN_AMR_GRAPH_SUFFIX']
 DOT_AMR_GRAPH_SUFFIX = config['PARAM']['DOT_AMR_GRAPH_SUFFIX']
 PNG_AMR_GRAPH_SUFFIX = config['PARAM']['PNG_AMR_GRAPH_SUFFIX']
+SVG_AMR_GRAPH_SUFFIX = config['PARAM']['SVG_AMR_GRAPH_SUFFIX']
 AMR_RDF_SUFFIX = config['PARAM']['AMR_RDF_SUFFIX']
 AMR_TTL_SUFFIX = config['PARAM']['AMR_TTL_SUFFIX']
 
@@ -95,6 +96,11 @@ def get_png_amr_graph_output_filepath(data):
     data_file_name = data["data_ref"] + PNG_AMR_GRAPH_SUFFIX
     return data_dir + data_file_name
 
+def get_svg_amr_graph_output_filepath(data):
+    data_dir = get_output_data_dir(data["output_data_dir"])
+    data_file_name = data["data_ref"] + SVG_AMR_GRAPH_SUFFIX
+    return data_dir + data_file_name
+
 def get_amr_rdf_triple_output_filepath(data):
     data_dir = get_output_data_dir(data["output_data_dir"])
     data_file_name = data["data_ref"] + AMR_RDF_SUFFIX
@@ -238,19 +244,30 @@ def generate_dot_amr_graph(data):
     graph = data["graph"]
     
     try:
-        # -- generating dot/png files using AMRLib and GraphViz 
         dot_fn = get_dot_amr_graph_output_filepath(data)
+        
+        # -- generating dot/png files using AMRLib and GraphViz 
         format = 'png'
         print("----- AMR Graph file (dot): " + dot_fn)
         plot = AMRPlot(dot_fn, format) 
         plot.build_from_graph(graph)
         plot.graph.render()
-        
         render_fn = dot_fn + '.' + format # -- renaming PNG file
         good_png_fn = get_png_amr_graph_output_filepath(data)
         print("----- AMR Graph file (png): " + good_png_fn)
         os.rename(render_fn, good_png_fn)
         
+        # -- generating dot/svg files using AMRLib and GraphViz 
+        format = 'svg'
+        print("----- AMR Graph file (dot): " + dot_fn)
+        plot = AMRPlot(dot_fn, format) 
+        plot.build_from_graph(graph)
+        plot.graph.render()
+        render_fn = dot_fn + '.' + format # -- renaming SVG file
+        good_svg_fn = get_svg_amr_graph_output_filepath(data)
+        print("----- AMR Graph file (svg): " + good_svg_fn)
+        os.rename(render_fn, good_svg_fn)
+        
     except:
         logger.warning('Exception when trying to plot') # -- TODO
         traceback.print_exc()
-- 
GitLab