From 38be6914a826a60748bbc4ae11f1d636bfafa612 Mon Sep 17 00:00:00 2001
From: David Trattnig <david.trattnig@o94.at>
Date: Sat, 27 Jun 2020 14:34:38 +0200
Subject: [PATCH] Ability to pass specific config file.

---
 src/app.py         |  9 ++++++++-
 src/base/config.py | 11 ++++++++---
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/app.py b/src/app.py
index a91fecd..c70122f 100644
--- a/src/app.py
+++ b/src/app.py
@@ -33,10 +33,17 @@ from service        import ApiService
 from sync           import SyncJob
 from models         import db, ma
 
+# Read command line parameters
+
+config_file = None
+
+for arg in sys.argv:
+    if arg.startswith("config="):
+        config_file = arg.split("config=")[1]
 
 # App Initialization
 
-config = AuraConfig()
+config = AuraConfig(config_file)
 logger = AuraLogger(config, "engine-api").logger
 sync_job = None
 
diff --git a/src/base/config.py b/src/base/config.py
index aa56708..41cca87 100644
--- a/src/base/config.py
+++ b/src/base/config.py
@@ -45,9 +45,14 @@ class AuraConfig:
         Args:
             ini_path(String):      The path to the configuration file `engine-api.ini`
         """
-        config_file = Path(ini_path)
-        if not config_file.is_file():
-            ini_path = "%s/config/engine-api.ini" % Path(__file__).parent.parent.parent.absolute()
+        default_ini_path = "%s/config/engine-api.ini" % Path(__file__).parent.parent.parent.absolute()
+
+        if ini_path:
+            config_file = Path(ini_path)
+            if not config_file.is_file():
+                ini_path = default_ini_path
+        else:
+            ini_path = default_ini_path
 
         self.ini_path = ini_path
         self.logger = logging.getLogger("AuraEngineApi")
-- 
GitLab