lib/pvl/main.sh
changeset 649 88ff10dae514
parent 628 b10ad946d01d
child 650 c707c3ee8665
--- a/lib/pvl/main.sh	Fri Feb 27 17:25:01 2015 +0200
+++ b/lib/pvl/main.sh	Fri Feb 27 17:42:35 2015 +0200
@@ -2,9 +2,18 @@
 
 shopt -s globstar nullglob
 
+. $LIB/pvl/$MODULE/$MODULE_MAIN.sh
+
+module_main_modules=${MODULE_MAIN}_MODULES
+
+MODULES=(${!module_main_modules})
+
+for module in ${MODULES[@]}; do
+    . $LIB/pvl/$module.sh
+done
+
 . $LIB/pvl/util.sh
 . $LIB/pvl/list.sh
-. $LIB/pvl/log.sh
 . $LIB/pvl/cmd.sh
 
 function main_help {
@@ -16,7 +25,7 @@
 END
     
     for module in ${MODULES[@]}; do
-        ${module}_help
+        func_test ${module}_help && ${module}_help
     done
 }
 
@@ -29,7 +38,7 @@
 
         for module in ${MODULES[@]}; do
             module_getopts=${module}_GETOPTS
-            echo -n ${!module_getopts}
+            echo -n ${!module_getopts:-}
         done
     )
 
@@ -43,7 +52,7 @@
         fi
 
         for module in ${MODULES[@]}; do
-            if ${module}_opt $opt "${OPTARG:-}"; then
+            if func_test ${module}_opt && ${module}_opt $opt "${OPTARG:-}"; then
                 opt_module=$module
             fi
         done
@@ -66,6 +75,9 @@
         func_test ${module}_init && ${module}_init
     done
 
-    ${MODULE}_main     
+    func_test ${MODULE_MAIN}_init && ${MODULE_MAIN}_init
+
+    ${MODULE_MAIN}_main
 }
 
+main "$@"