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 @@
#
# Cette fonction decrit l'utilisation et les parametres d'entree du script
#==============================================================================
function usage
{
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 "-n niv_debogage"
echo
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 " -e\tliste des fichiers niveau 1 5s ou 1s"
echo -e " -s\tliste des fichiers niveau 1 1min a creer"
echo -e " -n\tniveau de debogage (0 a 3)"
echo -e " -v\taffiche la version du programme"
echo -e " -c\tfichier de configuration"
echo -e " -h\taffiche cette aide"
echo "Les fichiers a convertir doivent respecter la convention de nommage SIRTA."
function usage {
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 "-n niv_debogage"
echo
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 " -e\tliste des fichiers niveau 1 5s ou 1s"
echo -e " -s\tliste des fichiers niveau 1 1min a creer"
echo -e " -n\tniveau de debogage (0 a 3)"
echo -e " -v\taffiche la version du programme"
echo -e " -c\tfichier de configuration"
echo -e " -h\taffiche cette aide"
echo "Les fichiers a convertir doivent respecter la convention de nommage SIRTA."
}
#==============================================================================
# consignerMsg
#
......@@ -74,8 +72,7 @@ function usage
# $2 : niveau de debogage
#==============================================================================
function consignerMsg
{
function consignerMsg {
local heure=$(date +%d/%m/%Y,%H:%M:%S)
local niv_deb=$2
......@@ -112,24 +109,29 @@ n=0
# Recupere les parametres de la lignes de commande
#------------------------------------------------------------------------------
UNZIP=0
while getopts :d:e:s:t:n:c:uhv option
do
while getopts :d:e:s:t:n:c:uhv option; do
case $option in
d) date="$OPTARG" ;;
h) usage
exit 0 ;;
v) echo $VERSION
exit 0 ;;
e) liste_entree[n]="$OPTARG"
let n++ ;;
s) liste_sortie=${OPTARG} ;;
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 ;;
d) date="$OPTARG" ;;
h)
usage
exit 0
;;
v)
echo $VERSION
exit 0
;;
e)
liste_entree[n]="$OPTARG"
let n++
;;
s) liste_sortie=${OPTARG} ;;
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
done
......@@ -145,45 +147,43 @@ NCKS="/usr/bin/ncks"
# verification des parametres
#------------------------------------------------------------------------------
if [[ $ERREUR != 0 ]]; then
usage
exit 1
usage
exit 1
fi
let n--
while [[ $n -ge 0 ]]
do
if [[ -z ${liste_entree[n]} ]]; then
consignerMsg "Il faut indiquer la liste des fichiers d'entree a traiter."
exit 1
fi
if [[ ! -f ${liste_entree[n]} ]]; then
consignerMsg "La liste de fichiers d'entree ${liste_entree[n]} est vide ou n'existe pas."
exit 1
fi
let n--
while [[ $n -ge 0 ]]; do
if [[ -z ${liste_entree[n]} ]]; then
consignerMsg "Il faut indiquer la liste des fichiers d'entree a traiter."
exit 1
fi
if [[ ! -f ${liste_entree[n]} ]]; then
consignerMsg "La liste de fichiers d'entree ${liste_entree[n]} est vide ou n'existe pas."
exit 1
fi
let n--
done
if [[ -z $liste_sortie ]]; then
consignerMsg "Il faut indiquer la liste des fichiers de sortie a creer."
exit 1
consignerMsg "Il faut indiquer la liste des fichiers de sortie a creer."
exit 1
fi
if [[ ! -f $liste_sortie || ! -s $liste_sortie ]]; then
consignerMsg "La liste de fichiers de sortie $liste_sortie est vide ou n'existe pas."
exit 1
consignerMsg "La liste de fichiers de sortie $liste_sortie est vide ou n'existe pas."
exit 1
fi
if [[ -z $REP_TRAVAIL ]]; then
consignerMsg "Il faut indiquer un repertoire de travail."
exit 1
consignerMsg "Il faut indiquer un repertoire de travail."
exit 1
fi
if [[ ! -d $REP_TRAVAIL ]]; then
consignerMsg "Le repertoire de travail $REP_TRAVAIL n'existe pas."
exit 1
consignerMsg "Le repertoire de travail $REP_TRAVAIL n'existe pas."
exit 1
fi
#------------------------------------------------------------------------------
# Traitement
#------------------------------------------------------------------------------
......@@ -193,31 +193,26 @@ fi
# Si on n'en trouve aucun on quitte
#------------------------------------------------------------------------------
n=0
while read l
do
while read l; do
fich_entree[n]=$l
let n++
done < ${liste_entree[0]}
done <${liste_entree[0]}
# test pour savoir si fichier du jour disponible
if [[ ${#fich_entree[*]} -lt 2 ]]
then
consignerMsg "Pas de fichier du jour a traiter"
exit 1
if [[ ${#fich_entree[*]} -lt 2 ]]; then
consignerMsg "Pas de fichier du jour a traiter"
exit 1
fi
# if unzipping raw files is needed
if [[ $UNZIP == 0 ]]
then
if [[ $UNZIP == 0 ]]; then
input_files=("${fich_entree[@]}")
elif [[ $UNZIP == 1 ]]
then
elif [[ $UNZIP == 1 ]]; then
# create tmp directory for data
tmp_data=$(mktemp -d -p "$REP_TRAVAIL")
# unzip input files in it
for zip_file in "${fich_entree[@]}"
do
for zip_file in "${fich_entree[@]}"; do
unzip "$zip_file" -d "$tmp_data"
done
......@@ -238,37 +233,34 @@ cmd="$PYTHON $RAW2L1 '$date' $RAW2L1_CONF ${input_files[*]} $tmpfile -log $RAW2L
eval $cmd
if [[ $? == 0 ]]
then
# suppression des donnees qui ne correspondent pas au jour
#-------------------------------------------------------------------------
date_as_days=$(bc -l <<< "$(date -u -d "$date" +%s)/86400")
date_p1=$(bc -l <<< "($(date -u -d "$date" +%s)+86399)/86400")
if [[ $? == 0 ]]; then
# suppression des donnees qui ne correspondent pas au jour
#-------------------------------------------------------------------------
date_as_days=$(bc -l <<<"$(date -u -d "$date" +%s)/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"
eval $cmd
consignerMsg "suppression des données n'appartenant au jour traite"
eval $cmd
else
\rm $tmpfile
\rm $tmpfile
if [[ $UNZIP == 1 ]]
then
\rm -rf "$tmp_data"
fi
if [[ $UNZIP == 1 ]]; then
\rm -rf "$tmp_data"
fi
exit 1
exit 1
fi
\rm "$tmpfile"
# if needed remove unzipped files
if [[ $UNZIP == 1 ]]
then
if [[ $UNZIP == 1 ]]; then
\rm -rf "$tmp_data"
fi
if (($? > 1)); then
exit 1
exit 1
fi
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