]> git.ipfire.org Git - nitsi.git/blobdiff - nitsi.in
Rework setting handling
[nitsi.git] / nitsi.in
index 1c5fd178e741ce47e330bdca3ccb1e50a40605cf..021d5633a6255dd36e39becb66124d78de5e64ae 100755 (executable)
--- a/nitsi.in
+++ b/nitsi.in
@@ -2,11 +2,12 @@
 
 import argparse
 import logging
 
 import argparse
 import logging
+import os
 
 from nitsi.logger import init_logging, Log_Formatter
 from nitsi.recipe import RecipeExeption
 import nitsi.test
 
 from nitsi.logger import init_logging, Log_Formatter
 from nitsi.recipe import RecipeExeption
 import nitsi.test
-import nitsi.settings
+from nitsi.settings import settings_parse_copy_from, NitsiSettings
 
 logger = logging.getLogger("nitsi")
 
 
 logger = logging.getLogger("nitsi")
 
@@ -79,18 +80,22 @@ def main():
         logger.addHandler(fh)
         logger.debug("We now logging everything to {}/general.log".format(log_dir))
 
         logger.addHandler(fh)
         logger.debug("We now logging everything to {}/general.log".format(log_dir))
 
-        # Build up settings dict
-        settings = {}
+        # Build up settings
+        settings = nitsi.settings.NitsiSettings(priority_list=["cmd", "settings-file", "nitsi-default"])
+
         if args.name:
         if args.name:
-            settings["name"] = args.name
+            settings.set_config_value("name", args.name, type="cmd")
         if args.desc:
         if args.desc:
-            settings["description"] = args.desc
+            settings.set_config_value("description", args.desc, type="cmd")
         if args.copy_to:
         if args.copy_to:
-            settings["copy_to"] = args.copy_to
+            settings.set_config_value("copy_to", args.copy_to, type="cmd")
         if args.copy_from:
         if args.copy_from:
-            settings["copy_from"] =  nitsi.settings.settings_parse_copy_from(args.copy_from)
+            settings.set_config_value("copy_from", nitsi.settings.settings_parse_copy_from(args.copy_from), type="cmd")
         if args.virtual_environ_path:
         if args.virtual_environ_path:
-            settings["virtual_environ_path"] = args.virtual_environ_path
+            path = args.virtual_environ_path
+            if not os.path.isabs(path):
+                path = os.path.abspath(path)
+            settings.set_config_value("virtual_environ_path", path, type="cmd")
 
         # here we run a test
         try:
 
         # here we run a test
         try:
@@ -99,8 +104,7 @@ def main():
                 dir=args.dir,
                 recipe_file=args.recipe,
                 settings_file=args.settings,
                 dir=args.dir,
                 recipe_file=args.recipe,
                 settings_file=args.settings,
-                cmd_settings=settings)
-            currenttest.read_settings()
+                settings=settings)
             currenttest.virtual_environ_setup_stage_1()
             currenttest.load_recipe()
             currenttest.virtual_environ_setup_stage_2()
             currenttest.virtual_environ_setup_stage_1()
             currenttest.load_recipe()
             currenttest.virtual_environ_setup_stage_2()