diff options
Diffstat (limited to 'miscripts/postman.sh')
-rw-r--r-- | miscripts/postman.sh | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/miscripts/postman.sh b/miscripts/postman.sh new file mode 100644 index 0000000..3b62240 --- /dev/null +++ b/miscripts/postman.sh @@ -0,0 +1,117 @@ +#!/bin/bash + +URL="http://172.26.16.1:8080/klk" + +FILE="$HOME/csv.csv" + +function loadPredmeti () { + echo -e "\n\n\n---------- LOADING PREDMETI ----------" + while read line; do + curl --location "${URL}/predmeti" \ + --header 'Content-Type: application/json' \ + --data ' { + "naziv": "'"$line"'" + }' + done < <( tail -n +2 $FILE | iconv -c -f utf-8 -t ascii | sed -r "s|\",\"|~|g; s|~ET~|~CET~|g; s|\"||g" | cut -d"~" -f 1 | sort | uniq | tr -d '\r' ) +} + +function loadProfesori () { + echo -e "\n\n\n---------- LOADING PROFESORI ----------" + while read line; do + ime="${line##* }" + prezime="${line%% *}" + + curl --location "${URL}/profesori" \ + --header 'Content-Type: application/json' \ + --data ' { + "ime": "'"$ime"'", + "prezime": "'"$prezime"'" + }' + done < <( tail -n +2 $FILE | iconv -c -f utf-8 -t ascii | sed -r "s|\",\"|~|g; s|~ET~|~CET~|g; s|\"||g" | cut -d"~" -f 3 | sort | uniq | tr -d '\r' ) +} + +function loadGrupe () { + echo -e "\n\n\n---------- LOADING GRUPE ----------" + while read line; do + curl --location "${URL}/grupe" \ + --header 'Content-Type: application/json' \ + --data ' { + "oznaka": "'"$line"'" + }' + done < <( tail -n +2 $FILE | iconv -c -f utf-8 -t ascii | sed -r "s|\",\"|~|g; s|~ET~|~CET~|g; s|\"||g" | cut -d"~" -f 4 | sort | uniq | tr ',' '\n' | sed -s "s| ||g" | sort | uniq | tr -d '\r' ) +} + + +function loadUcionice () { + echo -e "\n\n\n---------- LOADING UCIONICE ----------" + while read line; do + curl --location "${URL}/ucionice" \ + --header 'Content-Type: application/json' \ + --data ' { + "oznaka": "'"$line"'" + }' + done < <( tail -n +2 $FILE | iconv -c -f utf-8 -t ascii | sed -r "s|\",\"|~|g; s|~ET~|~CET~|g; s|\"||g" | cut -d"~" -f 7 | sort | uniq | tr -d '\r' ) +} + +LINENUM=0 + +function loadTermini () { + echo -e "\n\n\n---------- LOADING TERMINI ----------" + while read line; do + + pocetni_termin="$( echo "$line" | cut -d"~" -f 6 | cut -d"-" -f 1 | tr -d '\r' )" + krajnji_termin="$( echo "$line" | cut -d"~" -f 6 | cut -d"-" -f 2 | tr -d '\r' )" + dan_u_nedelji="$( echo "$line" | cut -d"~" -f 5 | tr -d '\r' )" + + tip_nastave="$( echo "$line" | cut -d"~" -f 2 | tr -d '\r' )" + + ucionica_oznaka="$( echo "$line" | cut -d"~" -f 7 | tr -d '\r' )" + + profesor_ime="$( echo "$line" | cut -d"~" -f 3 | cut -d" " -f 2- | tr -d '\r' )" + profesor_prezime="$( echo "$line" | cut -d"~" -f 3 | cut -d" " -f 1 | tr -d '\r' )" + + predmet_naziv="$( echo "$line" | cut -d"~" -f 1 | tr -d '\r' )" + + jank="" + + IFS=", " read -ra GRPS <<< $( echo -e "$line" | cut -d"~" -f 4 | tr -d '\r' ) + for grp in "${GRPS[@]}"; do + jank="${jank}{ \"oznaka\": \"${grp}\" }, " + done + + jank="${jank::-2}" + + curl --location "${URL}/termini" \ + --header 'Content-Type: application/json' \ + --data ' { + "pocetniTermin": "'"$pocetni_termin"'", + "krajnjiTermin": "'"$krajnji_termin"'", + "danUNedelji": "'"$dan_u_nedelji"'", + "tipNastave": "'"$tip_nastave"'", + "ucionica": { + "oznaka": "'"$ucionica_oznaka"'" + }, + "profesor": { + "ime": "'"$profesor_ime"'", + "prezime": "'"$profesor_prezime"'" + }, + "predmet": { + "naziv": "'"$predmet_naziv"'" + }, + "grupe": [ '"$jank"' ] + }' + + done < <( tail -n +2 $FILE | iconv -c -f utf-8 -t ascii | sed -r "s|\",\"|~|g; s|~ET~|~CET~|g; s|\"||g" | sort | uniq ) +} + + + +loadPredmeti +loadProfesori +loadGrupe +loadUcionice + +sleep 1 +loadTermini + +echo -e "\n\n\nDone" |