forked from ColinMaudry/decp-json
-
Notifications
You must be signed in to change notification settings - Fork 3
/
process.sh
executable file
·136 lines (106 loc) · 3.61 KB
/
process.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/bin/bash
#**********************************************************************
#
# Toutes les opérations de récupération, correction, conversion et empaquetage
# pour la source sélectionnée ou pour toutes les sources
#**********************************************************************
# fail on error
set -e
source=$1
step=$2
mode=$3
# Pour facilement s'y retrouver dans les répertoires, création d'une variable avec le chemin de la racine de decp-rama
export DECP_HOME=`pwd`
if [[ -z $mode ]]
then
mode=only
fi
case $source in
all)
sources=`jq -r '.[] | .code' $DECP_HOME/sources/metadata.json`
echo "Sources :"
echo $sources
echo ""
## Pas de traitement des sources si l'option "nothing" est fourni
for source in $sources
do
./process.sh $source $step $mode
done
if [[ "$mode" == "nothing" ]]
then
echo ""
echo "## Fusion de tous les fichiers JSON de source en un seul"
scripts/mergeAllSources.sh
echo "## Exclusions des marchés avec anomalie"
scripts/excludeMarches.sh
echo ""
echo "## Correction des anomalie globales"
scripts/fixAll.sh
echo "## Génération des statistiques"
scripts/stats.sh
echo ""
echo "Extraction des marchés du jour"
case ${GITHUB_REF_NAME} in
*)
resource="https://www.data.gouv.fr/fr/datasets/r/16962018-5c31-4296-9454-5998585496d2"
;;
# *)
# export api="https://next.data.gouv.fr/api/1"
# export resource_id_json="a53049f9-3536-4dab-b0fb-8928917cb12a"
# api_key=$NEXT_API_KEY
# ;;
esac
wget $resource -O results/decp_previous.json
# Le fichier des marchés du jour est sauvegardé dans ./decp_{date-iso}.json
scripts/get_new_data.sh results/decp_previous.json json/decp.json
if [[ ! -d xml ]]
then
mkdir xml
fi
date=`date "+%F"`
echo ""
echo "## Conversion du JSON agrégé en XML..."
scripts/jsonDECP2xmlDECP.sh json/decp.json > xml/decp.xml
ls -lh xml/decp.xml
echo ""
echo "## Conversion du JSON du jour en XML..."
scripts/jsonDECP2xmlDECP.sh results/decp_$date.json > results/decp_$date.xml
ls -lh results/decp_$date.xml
echo ""
echo "## Conversion du JSON agrégé au format OCDS JSON..."
scripts/makeOCDS.sh json/decp.json
fi
;;
*)
datetime=`date "+%FT%T"`
echo "============================================"
echo "$datetime : début du traitement pour source $source"
echo ""
case $mode in
only)
scripts/$step.sh $source
;;
sequence)
finalStep=$step
for currentStep in get fix convert package
do
scripts/$currentStep.sh $source
if [ "$currentStep" == "$finalStep" ]; then
break;
fi
done
;;
nothing)
echo "On ne fait rien concernant les sources"
;;
*)
echo "Seules les valeurs 'only' et 'sequence' sont acceptées."
;;
esac
datetime=`date "+%FT%T"`
echo ""
echo "$datetime : fin du traitement pour source $source"
echo "============================================"
echo ""
;;
esac