Browse Source

RETURN CODES

Sniperovitch 8 years ago
parent
commit
fcb1b87a13
1 changed files with 24 additions and 14 deletions
  1. 24 14
      cocktail

+ 24 - 14
cocktail

@@ -2,7 +2,10 @@
 
 
 RC_OK=0
 RC_OK=0
 RC_ERROR=1
 RC_ERROR=1
-RC_ERROR_LOCK=2
+RC_LOCK=2
+RC_CONFIG_MISSED=3
+RC_PANDOC_FILES=4
+RC_ARGS=5
 
 
 end_with_code() {
 end_with_code() {
   local rc=$1
   local rc=$1
@@ -21,7 +24,7 @@ end_with_code() {
 }
 }
 
 
 die() {
 die() {
-  verbose "[$FUNCNAME] $@ 1:[$1] 2:[$2]"
+  verbose "[$FUNCNAME] 1:[$1] 2:[$2]"
   local message
   local message
   local rc
   local rc
 
 
@@ -55,19 +58,19 @@ debug() {
 init_check() {
 init_check() {
   if test -e $LOCK_FILE;
   if test -e $LOCK_FILE;
   then
   then
-    die "[$FUNCNAME] lock=$LOCK_FILE exists. Wait compilation or erase it" $RC_ERROR_LOCK
+    die "[$FUNCNAME] lock=$LOCK_FILE exists. Wait compilation or erase it" $RC_LOCK
   fi
   fi
 
 
   # PANDOC_FILTER_BASE should exists
   # PANDOC_FILTER_BASE should exists
   if test ! -d "$PANDOC_FILTER_BASE";
   if test ! -d "$PANDOC_FILTER_BASE";
   then
   then
-    die "[$FUNCNAME]: PANDOC_FILTER_BASE=$PANDOC_FILTER_BASE unavailable"
+    die "[$FUNCNAME]: PANDOC_FILTER_BASE=$PANDOC_FILTER_BASE unavailable" $RC_PANDOC_FILES
   fi
   fi
 
 
   # PANDOC_INCLUDE_BASE should exists
   # PANDOC_INCLUDE_BASE should exists
   if test ! -d "$PANDOC_INCLUDE_BASE";
   if test ! -d "$PANDOC_INCLUDE_BASE";
   then
   then
-    die "[$FUNCNAME]: PANDOC_INCLUDE_BASE=$PANDOC_INCLUDE_BASE unavailable"
+    die "[$FUNCNAME]: PANDOC_INCLUDE_BASE=$PANDOC_INCLUDE_BASE unavailable" $RC_PANDOC_FILES
   fi
   fi
 
 
   # STORE should exists
   # STORE should exists
@@ -289,7 +292,7 @@ lock_project() {
   then
   then
     echo "$$" > "$LOCK_FILE"
     echo "$$" > "$LOCK_FILE"
   else
   else
-    die "lockfile $LOCK_FILE already exists" $RC_ERROR_LOCK
+    die "lockfile $LOCK_FILE already exists" $RC_LOCK
   fi
   fi
 }
 }
 
 
@@ -307,10 +310,10 @@ unlock_project() {
       then
       then
         verbose "[$FUNCNAME] $PROJET unlocked, $LOCK_FILE removed."
         verbose "[$FUNCNAME] $PROJET unlocked, $LOCK_FILE removed."
       else
       else
-        die"[$FUNCNAME] we can not unlock $PROJET, $LOCK_FILE still on disk."
+        die"[$FUNCNAME] we can not unlock $PROJET, $LOCK_FILE still on disk." $RC_LOCK
       fi
       fi
     else
     else
-      die "[$FUNCNAME] we can not delete lockfile owned by another process"
+      die "[$FUNCNAME] we can not delete lockfile owned by another process" $RC_LOCK
     fi
     fi
 
 
   fi
   fi
@@ -330,7 +333,6 @@ cleanup_working_folder() {
     then
     then
       verbose "[$FUNCNAME] $WORKING_FOLDER removed"
       verbose "[$FUNCNAME] $WORKING_FOLDER removed"
     fi
     fi
-    # rmdir "$WORKING_FOLDER"
   fi
   fi
 }
 }
 
 
@@ -342,7 +344,15 @@ usage() {
       -g : url du pad de page de garde (optionnel)
       -g : url du pad de page de garde (optionnel)
       -h : cette page d'aide
       -h : cette page d'aide
       -p : nom du projet
       -p : nom du projet
-      -v : force le mode verbeux"
+      -v : force le mode verbeux
+
+    return codes:
+      0 : OK
+      1 : GENERIC ERROR
+      2 : LOCK ERROR
+      3 : CONFIG FILE IS MISSING
+      4 : PANDOC FILTER IS MISSING OR NOT EXECUTABLE
+      5 : ARGUMENTS ERRORS"
 }
 }
 
 
 publish() {
 publish() {
@@ -361,7 +371,7 @@ if test -r "$base/cocktail.conf";
 then
 then
   source "$base/cocktail.conf"
   source "$base/cocktail.conf"
 else
 else
-  die "cocktail.conf is missing, see config.conf.smp for example"
+  die "cocktail.conf is missing, see config.conf.smp for example" $RC_CONFIG_MISSED
 fi
 fi
 
 
 OPTERR=1
 OPTERR=1
@@ -401,7 +411,7 @@ verbose "ARGS=$@"
 
 
 if test -z "$DOSSIER";
 if test -z "$DOSSIER";
 then
 then
-  die "getopts: -d DOSSIER is mandatory"
+  die "getopts: -d DOSSIER is mandatory" $RC_ARGS
 fi
 fi
 
 
 verbose "DOSSIER=$DOSSIER"
 verbose "DOSSIER=$DOSSIER"
@@ -419,7 +429,7 @@ verbose "LOCK_FILE=$LOCK_FILE"
 
 
 if test -z "$URL_BASE";
 if test -z "$URL_BASE";
 then
 then
-  die "getopts: -b URL_BASE is mandatory"
+  die "getopts: -b URL_BASE is mandatory" $RC_ARGS
 fi
 fi
 
 
 init_check
 init_check
@@ -443,5 +453,5 @@ pad2tex "$WORKING_FOLDER/$PROJET.txt" "$WORKING_FOLDER/$PROJET.tex"
 tex2pdf "$WORKING_FOLDER/$PROJET.tex" "$WORKING_FOLDER/$PROJET.pdf"
 tex2pdf "$WORKING_FOLDER/$PROJET.tex" "$WORKING_FOLDER/$PROJET.pdf"
 publish
 publish
 unlock_project
 unlock_project
-end_with_code 0
+end_with_code $RC_OK