Add a script to fill DB with teams
This commit is contained in:
parent
ede5bb18b1
commit
97bb149eb6
2 changed files with 268 additions and 0 deletions
64
admin/fill_teams.sh
Executable file
64
admin/fill_teams.sh
Executable file
|
|
@ -0,0 +1,64 @@
|
|||
#!/bin/sh
|
||||
|
||||
BASEURL="http://localhost:8081"
|
||||
PART_FILE="Challenge_Liste des participants.csv"
|
||||
|
||||
new_team() {
|
||||
head -n "$1" team-names.txt | tail -1 | sed -E 's/^.*\|\[\[([^|]+\|)?([^|]+)\]\][^|]*\|([A-Fa-f0-9]{1,2})\|([A-Fa-f0-9]{1,2})\|([A-Fa-f0-9]{1,2})\|([0-9]{1,3})\|([0-9]{1,3})\|([0-9]{1,3})\|.*$/\6 \7 \8 \2/' |
|
||||
while read line;
|
||||
do
|
||||
R=`echo $line | cut -d " " -f 1`
|
||||
G=`echo $line | cut -d " " -f 2`
|
||||
B=`echo $line | cut -d " " -f 3`
|
||||
N=`echo $line | cut -d " " -f 4`
|
||||
|
||||
COLOR=$((($R*256 + $G) * 256 + $B))
|
||||
|
||||
curl -s -d "{\"name\": \"$N\",\"color\": $COLOR}" "${BASEURL}/api/teams/"
|
||||
done | grep -Eo '"id":[0-9]+,' | grep -Eo "[0-9]+"
|
||||
}
|
||||
|
||||
TNUM=0
|
||||
TMAX=`cat "$PART_FILE" | wc -l`
|
||||
sed "1d" "$PART_FILE" | cut -d \; -f 15 | sort | uniq | while read TEAMID
|
||||
do
|
||||
TNUM=$(($TNUM + 1))
|
||||
|
||||
echo "Doing team $TNUM/$TMAX ("$(($TNUM*100/$TMAX))"%)..."
|
||||
|
||||
TID=`new_team $TNUM`
|
||||
|
||||
(
|
||||
echo -n "["
|
||||
HAS_MEMBER=1
|
||||
grep ";$TEAMID\$" "$PART_FILE" | while read MEMBER
|
||||
do
|
||||
LASTNAME=`echo $MEMBER | cut -d ";" -f 2`
|
||||
FIRSTNAME=`echo $MEMBER | cut -d ";" -f 3`
|
||||
COMPANY=`echo $MEMBER | cut -d ";" -f 4`
|
||||
|
||||
if [ $HAS_MEMBER = 0 ]
|
||||
then
|
||||
echo -n ,
|
||||
else
|
||||
HAS_MEMBER=0
|
||||
fi
|
||||
|
||||
cat <<EOF
|
||||
{
|
||||
"firstname": "$FIRSTNAME",
|
||||
"lastname": "$LASTNAME",
|
||||
"nickname": "",
|
||||
"company": "$COMPANY"
|
||||
}
|
||||
EOF
|
||||
done
|
||||
echo "]"
|
||||
) | curl -s -d @- "${BASEURL}/api/teams/${TID}" > /dev/null
|
||||
|
||||
if ! curl -s -f "${BASEURL}/api/teams/${TID}/certificate" > /dev/null
|
||||
then
|
||||
curl -s -f "${BASEURL}/api/teams/${TID}/certificate/generate"
|
||||
fi
|
||||
echo
|
||||
done
|
||||
Reference in a new issue