From 864101f7cba8216989be1a4c64dcb14a1a1a5263 Mon Sep 17 00:00:00 2001
From: daxid <david.rouquet@tetras-libre.fr>
Date: Tue, 17 Jan 2023 14:05:22 +0000
Subject: [PATCH] Add a config.ini for the convert_text_to_amr.py script

---
 README.md              |  4 +++-
 config.sample.ini      | 23 +++++++++++++++++++++++
 convert_text_to_amr.py | 36 ++++++++++++++++++++----------------
 3 files changed, 46 insertions(+), 17 deletions(-)
 create mode 100644 config.sample.ini

diff --git a/README.md b/README.md
index 1c86e7e1..f21ac853 100644
--- a/README.md
+++ b/README.md
@@ -37,7 +37,9 @@ to be processed.
 This project was developp under Python 3 and Manjaro Linux system, but it should
 run on any common system.
 
-First, it is recommended to use a
+Copy `config.sample.ini` to `config.ini` and optionaly adapt it to your needs.
+
+It is recommended to use a
 [virtual environment](https://docs.python.org/fr/3/tutorial/venv.html).
 For example, 'ssc-env' can be create and use with the following commands:
 
diff --git a/config.sample.ini b/config.sample.ini
new file mode 100644
index 00000000..0a6ebd95
--- /dev/null
+++ b/config.sample.ini
@@ -0,0 +1,23 @@
+[PARAM]
+
+# Input/Output Directories
+INPUT_DIR = inputData/
+OUTPUT_DIR = outputData/
+
+# Reference Suffix
+TEXT_SUFFIX = .txt
+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
+AMR_RDF_SUFFIX = .stog.amr.nt
+AMR_TTL_SUFFIX = .stog.amr.ttl
+
+# AMR Lib Models
+AMR_MODEL_BASEDIR = amrModel/
+AMR_MODEL_DIR = model_parse_xfm_bart_large-v0_1_0
+
+# AMRLD Parameters
+AMRLD_DIR = lib/amrld/
+AMRLD_DIR_BACK = ../../
+WK_DIR = wk/
diff --git a/convert_text_to_amr.py b/convert_text_to_amr.py
index 0032a6a2..fe6df82a 100644
--- a/convert_text_to_amr.py
+++ b/convert_text_to_amr.py
@@ -21,40 +21,44 @@ from rdflib import Graph
 
 import traceback
 import logging
+import configparser
 from   amrlib.graph_processing.amr_plot import AMRPlot
 
 logger = logging.getLogger(__name__)
 
+config = configparser.ConfigParser()
+config.read('config.ini')
+#config['PARAM']['']
 
 #==============================================================================
 # Parameters
 #==============================================================================
 
 # Input/Output Directories
-INPUT_DIR = "inputData/"
-OUTPUT_DIR = "outputData/"
+INPUT_DIR = config['PARAM']['INPUT_DIR']
+OUTPUT_DIR = config['PARAM']['OUTPUT_DIR']
 
 # Reference Suffix
-TEXT_SUFFIX = ".txt"
-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"
-AMR_RDF_SUFFIX = ".stog.amr.nt"
-AMR_TTL_SUFFIX = ".stog.amr.ttl"
+TEXT_SUFFIX = config['PARAM']['TEXT_SUFFIX']
+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']
+AMR_RDF_SUFFIX = config['PARAM']['AMR_RDF_SUFFIX']
+AMR_TTL_SUFFIX = config['PARAM']['AMR_TTL_SUFFIX']
 
 # AMR Lib Models
-AMR_MODEL_DIR = '/home/lamenji/.local/lib/python3.10/site-packages/amrlib/data/'
-AMR_MODEL_DIR = 'amrModel/'
-AMR_MODEL_XFM_LARGE = AMR_MODEL_DIR + 'model_parse_xfm_bart_large-v0_1_0'
-amr_model = AMR_MODEL_XFM_LARGE
+AMR_MODEL_BASEDIR = config['PARAM']['AMR_MODEL_BASEDIR']
+AMR_MODEL_DIR = config['PARAM']['AMR_MODEL_DIR']
 
 # AMRLD Parameters
-AMRLD_DIR = 'lib/amrld/'
-AMRLD_DIR_BACK = '../../'
-WK_DIR = 'wk/'
+AMRLD_DIR = config['PARAM']['AMRLD_DIR']
+AMRLD_DIR_BACK = config['PARAM']['AMRLD_DIR_BACK']
+WK_DIR = config['PARAM']['WK_DIR']
+
 AMRLD_WORKDIR = AMRLD_DIR + WK_DIR
 
+amr_model = AMR_MODEL_BASEDIR + AMR_MODEL_DIR
 
 #==============================================================================
 # Functions to define filepath
-- 
GitLab