Commit 3db36a12 authored by Marc-Antoine Drouin's avatar Marc-Antoine Drouin
Browse files

format script for general script

parent 5c0921a7
...@@ -45,24 +45,22 @@ ...@@ -45,24 +45,22 @@
# #
# Cette fonction decrit l'utilisation et les parametres d'entree du script # Cette fonction decrit l'utilisation et les parametres d'entree du script
#============================================================================== #==============================================================================
function usage function usage {
{ echo -n "Utilisation de $NOM_PRGM : $NOM_PRGM [-h|-v] -d date -e liste_fich_entree "
echo -n "Utilisation de $NOM_PRGM : $NOM_PRGM [-h|-v] -d date -e liste_fich_entree " echo -n "[[-e liste_fich_basse_entree]...] -s liste_fich_sortie -t rep_travail "
echo -n "[[-e liste_fich_basse_entree]...] -s liste_fich_sortie -t rep_travail " echo -n "-n niv_debogage"
echo -n "-n niv_debogage" echo
echo echo -e " -d\tseules les donnees appartenant a cette date sont selectionnees,"
echo -e " -d\tseules les donnees appartenant a cette date sont selectionnees," echo -e " \tle format de la date est du type aaaammjj"
echo -e " \tle format de la date est du type aaaammjj" echo -e " -e\tliste des fichiers niveau 1 5s ou 1s"
echo -e " -e\tliste des fichiers niveau 1 5s ou 1s" echo -e " -s\tliste des fichiers niveau 1 1min a creer"
echo -e " -s\tliste des fichiers niveau 1 1min a creer" echo -e " -n\tniveau de debogage (0 a 3)"
echo -e " -n\tniveau de debogage (0 a 3)" echo -e " -v\taffiche la version du programme"
echo -e " -v\taffiche la version du programme" echo -e " -c\tfichier de configuration"
echo -e " -c\tfichier de configuration" echo -e " -h\taffiche cette aide"
echo -e " -h\taffiche cette aide" echo "Les fichiers a convertir doivent respecter la convention de nommage SIRTA."
echo "Les fichiers a convertir doivent respecter la convention de nommage SIRTA."
} }
#============================================================================== #==============================================================================
# consignerMsg # consignerMsg
# #
...@@ -74,8 +72,7 @@ function usage ...@@ -74,8 +72,7 @@ function usage
# $2 : niveau de debogage # $2 : niveau de debogage
#============================================================================== #==============================================================================
function consignerMsg function consignerMsg {
{
local heure=$(date +%d/%m/%Y,%H:%M:%S) local heure=$(date +%d/%m/%Y,%H:%M:%S)
local niv_deb=$2 local niv_deb=$2
...@@ -112,24 +109,29 @@ n=0 ...@@ -112,24 +109,29 @@ n=0
# Recupere les parametres de la lignes de commande # Recupere les parametres de la lignes de commande
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
UNZIP=0 UNZIP=0
while getopts :d:e:s:t:n:c:uhv option while getopts :d:e:s:t:n:c:uhv option; do
do
case $option in case $option in
d) date="$OPTARG" ;; d) date="$OPTARG" ;;
h) usage h)
exit 0 ;; usage
v) echo $VERSION exit 0
exit 0 ;; ;;
e) liste_entree[n]="$OPTARG" v)
let n++ ;; echo $VERSION
s) liste_sortie=${OPTARG} ;; exit 0
t) REP_TRAVAIL=${OPTARG} ;; ;;
n) DEBUG=${OPTARG} ;; e)
c) fich_conf="$OPTARG" ;; liste_entree[n]="$OPTARG"
u) UNZIP=1 ;; let n++
# permet de sauter des options inconnues sans sortir de while ;;
?) while [[ $OPTIND -le $# && ${!OPTIND:0:1} != '-' ]]; do OPTIND=$((OPTIND+1)); done ;; s) liste_sortie=${OPTARG} ;;
*) ERREUR=1 ;; t) REP_TRAVAIL=${OPTARG} ;;
n) DEBUG=${OPTARG} ;;
c) fich_conf="$OPTARG" ;;
u) UNZIP=1 ;;
# permet de sauter des options inconnues sans sortir de while
?) while [[ $OPTIND -le $# && ${!OPTIND:0:1} != '-' ]]; do OPTIND=$((OPTIND + 1)); done ;;
*) ERREUR=1 ;;
esac esac
done done
...@@ -145,45 +147,43 @@ NCKS="/usr/bin/ncks" ...@@ -145,45 +147,43 @@ NCKS="/usr/bin/ncks"
# verification des parametres # verification des parametres
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
if [[ $ERREUR != 0 ]]; then if [[ $ERREUR != 0 ]]; then
usage usage
exit 1 exit 1
fi fi
let n-- let n--
while [[ $n -ge 0 ]] while [[ $n -ge 0 ]]; do
do if [[ -z ${liste_entree[n]} ]]; then
if [[ -z ${liste_entree[n]} ]]; then consignerMsg "Il faut indiquer la liste des fichiers d'entree a traiter."
consignerMsg "Il faut indiquer la liste des fichiers d'entree a traiter." exit 1
exit 1 fi
fi if [[ ! -f ${liste_entree[n]} ]]; then
if [[ ! -f ${liste_entree[n]} ]]; then consignerMsg "La liste de fichiers d'entree ${liste_entree[n]} est vide ou n'existe pas."
consignerMsg "La liste de fichiers d'entree ${liste_entree[n]} est vide ou n'existe pas." exit 1
exit 1 fi
fi let n--
let n--
done done
if [[ -z $liste_sortie ]]; then if [[ -z $liste_sortie ]]; then
consignerMsg "Il faut indiquer la liste des fichiers de sortie a creer." consignerMsg "Il faut indiquer la liste des fichiers de sortie a creer."
exit 1 exit 1
fi fi
if [[ ! -f $liste_sortie || ! -s $liste_sortie ]]; then if [[ ! -f $liste_sortie || ! -s $liste_sortie ]]; then
consignerMsg "La liste de fichiers de sortie $liste_sortie est vide ou n'existe pas." consignerMsg "La liste de fichiers de sortie $liste_sortie est vide ou n'existe pas."
exit 1 exit 1
fi fi
if [[ -z $REP_TRAVAIL ]]; then if [[ -z $REP_TRAVAIL ]]; then
consignerMsg "Il faut indiquer un repertoire de travail." consignerMsg "Il faut indiquer un repertoire de travail."
exit 1 exit 1
fi fi
if [[ ! -d $REP_TRAVAIL ]]; then if [[ ! -d $REP_TRAVAIL ]]; then
consignerMsg "Le repertoire de travail $REP_TRAVAIL n'existe pas." consignerMsg "Le repertoire de travail $REP_TRAVAIL n'existe pas."
exit 1 exit 1
fi fi
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Traitement # Traitement
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
...@@ -193,31 +193,26 @@ fi ...@@ -193,31 +193,26 @@ fi
# Si on n'en trouve aucun on quitte # Si on n'en trouve aucun on quitte
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
n=0 n=0
while read l while read l; do
do
fich_entree[n]=$l fich_entree[n]=$l
let n++ let n++
done < ${liste_entree[0]} done <${liste_entree[0]}
# test pour savoir si fichier du jour disponible # test pour savoir si fichier du jour disponible
if [[ ${#fich_entree[*]} -lt 2 ]] if [[ ${#fich_entree[*]} -lt 2 ]]; then
then consignerMsg "Pas de fichier du jour a traiter"
consignerMsg "Pas de fichier du jour a traiter" exit 1
exit 1
fi fi
# if unzipping raw files is needed # if unzipping raw files is needed
if [[ $UNZIP == 0 ]] if [[ $UNZIP == 0 ]]; then
then
input_files=("${fich_entree[@]}") input_files=("${fich_entree[@]}")
elif [[ $UNZIP == 1 ]] elif [[ $UNZIP == 1 ]]; then
then
# create tmp directory for data # create tmp directory for data
tmp_data=$(mktemp -d -p "$REP_TRAVAIL") tmp_data=$(mktemp -d -p "$REP_TRAVAIL")
# unzip input files in it # unzip input files in it
for zip_file in "${fich_entree[@]}" for zip_file in "${fich_entree[@]}"; do
do
unzip "$zip_file" -d "$tmp_data" unzip "$zip_file" -d "$tmp_data"
done done
...@@ -238,37 +233,34 @@ cmd="$PYTHON $RAW2L1 '$date' $RAW2L1_CONF ${input_files[*]} $tmpfile -log $RAW2L ...@@ -238,37 +233,34 @@ cmd="$PYTHON $RAW2L1 '$date' $RAW2L1_CONF ${input_files[*]} $tmpfile -log $RAW2L
eval $cmd eval $cmd
if [[ $? == 0 ]] if [[ $? == 0 ]]; then
then # suppression des donnees qui ne correspondent pas au jour
# suppression des donnees qui ne correspondent pas au jour #-------------------------------------------------------------------------
#------------------------------------------------------------------------- date_as_days=$(bc -l <<<"$(date -u -d "$date" +%s)/86400")
date_as_days=$(bc -l <<< "$(date -u -d "$date" +%s)/86400") date_p1=$(bc -l <<<"($(date -u -d "$date" +%s)+86399)/86400")
date_p1=$(bc -l <<< "($(date -u -d "$date" +%s)+86399)/86400")
cmd="$NCKS -h -O -d time,${date_as_days},${date_p1} $tmpfile $fich_sortie" cmd="$NCKS -h -O -d time,${date_as_days},${date_p1} $tmpfile $fich_sortie"
consignerMsg "suppression des données n'appartenant au jour traite" consignerMsg "suppression des données n'appartenant au jour traite"
eval $cmd eval $cmd
else else
\rm $tmpfile \rm $tmpfile
if [[ $UNZIP == 1 ]] if [[ $UNZIP == 1 ]]; then
then \rm -rf "$tmp_data"
\rm -rf "$tmp_data" fi
fi
exit 1 exit 1
fi fi
\rm "$tmpfile" \rm "$tmpfile"
# if needed remove unzipped files # if needed remove unzipped files
if [[ $UNZIP == 1 ]] if [[ $UNZIP == 1 ]]; then
then
\rm -rf "$tmp_data" \rm -rf "$tmp_data"
fi fi
if (($? > 1)); then if (($? > 1)); then
exit 1 exit 1
fi fi
exit 0 exit 0
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment