Aktueller Stand kombiniert mit Änderungen von gestern
This commit is contained in:
parent
3794413541
commit
95f216ffe6
15
README.md
15
README.md
|
|
@ -10,4 +10,17 @@ Dauer des shell scripts: ca. 1h (testen mit `time ./usr/bin/lamapoll-dsgvo.sh`)
|
|||
|
||||
## Installation
|
||||
|
||||
Nach Herunterladen und Entpacken des Repositories, einfach das install.sh ausführen als Root oder mit "sudo" und das sollte sich um den Rest kümmern.
|
||||
Nach Herunterladen und Entpacken des Repositories, einfach das install.sh ausführen als Root oder mit "sudo" und das sollte sich um den Rest kümmern.
|
||||
|
||||
1. Repository als .zip Herunterladen
|
||||
2. zu finden unter: `home/vorname.nachname/Downloads/Lamapoll_DSGVO_script-main.zip`
|
||||
3. unzippen `vorname.nachname@wmde-123456:~/Downloads$ unzip Lamapoll_DSGVO_script-main.zip`
|
||||
4. In den neu enstandenen Ordner navigieren und das Installationsskript ausführbar machen: `vorname.nachname@wmde-123456:~/Downloads/lamapoll_dsgvo_script$ chmod +x install.sh`
|
||||
5. Installationsskript ausführen: vorname.nachname@wmde-123456:~/Downloads/lamapoll_dsgvo_script$ sudo ./install.sh
|
||||
|
||||
|
||||
## Benutzung
|
||||
|
||||
Im Startmenü sollte nach der Installation der Eintrag `LamapollDSGVO` findbar sein. Beim Ausführen wird automatisch ein Terminal geöffnet, welches alle Informationen abfragt bevor die Suche startet.
|
||||
Nach der Suche wird automatisch ein Text Editor geöffnet, der alle Ergebnisse zusammengefasst anzeigt.
|
||||
Um Daten zu schützen, wird diese Datei nach dem Schließen des Texteditors gelöscht, genauso wie alle Zwischenergebnisse.
|
||||
16
install.sh
16
install.sh
|
|
@ -1,4 +1,4 @@
|
|||
#! /bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
# fact checking
|
||||
PATH="$(/usr/bin/pwd)"
|
||||
|
|
@ -16,16 +16,4 @@ echo $USER
|
|||
/usr/bin/sudo -u $USER desktop-file-install --dir=/home/$USER/.local/share/applications /usr/share/applications/lamapolldsgvo.desktop
|
||||
/usr/bin/sudo -u $USER update-desktop-database -v /home/$USER/.local/share/applications
|
||||
|
||||
echo "Installation done."
|
||||
|
||||
/usr/bin/rm -f /tmp/api.keys 2>&1 >/dev/null
|
||||
/usr/bin/touch /tmp/api.keys
|
||||
/usr/bin/chown $USER:$USER /tmp/api.keys
|
||||
MORE="y"
|
||||
while [ $MORE == "y" ]; do
|
||||
read -p "Bitte API Key eingeben: " API
|
||||
API=${API:-}
|
||||
echo $API >> /tmp/api.keys
|
||||
read -p "Weitere API Keys eingeben? [y/N] " MORE
|
||||
MORE=${MORE:-N}
|
||||
done
|
||||
echo "Installation done."
|
||||
|
|
@ -1,12 +1,25 @@
|
|||
#! /bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
file_path="/tmp/api.keys"
|
||||
USER=$(whoami)
|
||||
file_path="/home/$USER/Dokumente/api.keys"
|
||||
|
||||
if ! test -f $file_path; then
|
||||
echo "Keine API Keys gefunden. Bitte eine 'api.keys' Datei in /tmp/ ablegen"
|
||||
echo "Keine API Keys gefunden. Bitte eine 'api.keys' Datei in /home/$USER/Dokumente/ ablegen"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#/usr/bin/rm -f /home/$USER/Dokumente/api.keys 2>&1 >/dev/null
|
||||
#/usr/bin/touch /home/$USER/Dokumente/api.keys
|
||||
#/usr/bin/chown $USER:$USER /home/$USER/Dokumente/api.keys
|
||||
#MORE="y"
|
||||
#while [ $MORE == "y" ]; do
|
||||
# read -p "Bitte API Key eingeben: " API
|
||||
# API=${API:-}
|
||||
# echo $API >> /tmp/api.keys
|
||||
# read -p "Weitere API Keys eingeben? [y/N] " MORE
|
||||
# MORE=${MORE:-N}
|
||||
#done
|
||||
|
||||
echo "Im Folgenden werden die Daten abgefragt nach denen gesucht werden soll. Bitte mit ENTER bestätigen."
|
||||
read -p "Vorname [wird nicht gesucht wenn leer]: " VORNAME
|
||||
VORNAME=${VORNAME:-}
|
||||
|
|
@ -25,9 +38,9 @@ for line in $(cat "$file_path"); do
|
|||
## WMDE-Survey Respondents ("Adressbuch")
|
||||
rm -f /tmp/survey-$line-adress.json
|
||||
echo "[]" > /tmp/survey-$line-adress.json
|
||||
for POLL in $(curl -s -X GET -H "Authorization: Bearer 643M34DK" https://app.lamapoll.de/api/v2/polls?limit=1000 | jq -r '.[] | .id'); do
|
||||
curl -s -X GET -H "Authorization: Bearer 643M34DK" https://app.lamapoll.de/api/v2/polls/${POLL}/respondents -s | jq -r '.' > /tmp/survey-$line-adress-$POLL.json
|
||||
jq '. += (inputs)' /tmp/survey-$line-adress.json /tmp/survey-$line-adress-$POLL.json > temp.json && mv temp.json /tmp/survey-$line-adress.json && rm /tmp/survey-$line-adress-$POLL.json ; done
|
||||
for POLL in $(curl -s -X GET -H "Authorization: Bearer $line" https://app.lamapoll.de/api/v2/polls?limit=1000 | jq -r '.[] | .id'); do
|
||||
curl -s -X GET -H "Authorization: Bearer $line" https://app.lamapoll.de/api/v2/polls/${POLL}/respondents -s | jq -r '.' > /tmp/survey-$line-adress-$POLL.json
|
||||
jq '. += (inputs)' /tmp/survey-$line-adress.json /tmp/survey-$line-adress-$POLL.json > /tmp/temp.json && mv /tmp/temp.json /tmp/survey-$line-adress.json && rm /tmp/survey-$line-adress-$POLL.json ; done
|
||||
|
||||
# filter surveys for values and extract id, pollId, name, email
|
||||
rm -f /tmp/results-survey-$line-adress.json
|
||||
|
|
@ -36,9 +49,8 @@ for line in $(cat "$file_path"); do
|
|||
for var_name in "${vars[@]}"; do
|
||||
value="${!var_name}"
|
||||
if [[ -n "$value" ]]; then
|
||||
echo "$var_name = $value"
|
||||
cat /tmp/survey-$line-adress.json | jq --arg TEST "$value" '.[] | select((.name | test($TEST; "i")) or (.email | test($TEST; "i"))) | {pollId, id, name, email}' > /tmp/survey-$line-adress-$var_name.json
|
||||
jq '. += [(inputs)]' /tmp/results-survey-$line-adress.json /tmp/survey-$line-adress-$var_name.json > temp.json && mv temp.json /tmp/results-survey-$line-adress.json && rm /tmp/survey-$line-adress-$var_name.json
|
||||
jq '. += [(inputs)]' /tmp/results-survey-$line-adress.json /tmp/survey-$line-adress-$var_name.json > /tmp/temp.json && mv /tmp/temp.json /tmp/results-survey-$line-adress.json && rm /tmp/survey-$line-adress-$var_name.json
|
||||
fi
|
||||
done
|
||||
# filter double finds
|
||||
|
|
@ -47,9 +59,9 @@ for line in $(cat "$file_path"); do
|
|||
## WMDE-Survey Results ("Freitextsuche")
|
||||
rm -f /tmp/survey-$line-freetext.json
|
||||
echo "[]" > /tmp/survey-$line-freetext.json
|
||||
for POLL in $(curl -s -X GET -H "Authorization: Bearer 643M34DK" https://app.lamapoll.de/api/v2/polls?limit=1000 | jq -r '.[] | .id'); do
|
||||
curl -s -X GET -H "Authorization: Bearer 643M34DK" https://app.lamapoll.de/api/v2/polls/${POLL}/results -s | jq --arg POLL "${POLL}" -r '. | .pollId = $POLL' > /tmp/survey-$line-freetext-$POLL.json
|
||||
jq '. += [(inputs)]' /tmp/survey-$line-freetext.json /tmp/survey-$line-freetext-$POLL.json > temp.json && mv temp.json /tmp/survey-$line-freetext.json && rm /tmp/survey-$line-freetext-$POLL.json ; done
|
||||
for POLL in $(curl -s -X GET -H "Authorization: Bearer $line" https://app.lamapoll.de/api/v2/polls?limit=1000 | jq -r '.[] | .id'); do
|
||||
curl -s -X GET -H "Authorization: Bearer $line" https://app.lamapoll.de/api/v2/polls/${POLL}/results -s | jq --arg POLL "${POLL}" -r '. | .pollId = $POLL' > /tmp/survey-$line-freetext-$POLL.json
|
||||
jq '. += [(inputs)]' /tmp/survey-$line-freetext.json /tmp/survey-$line-freetext-$POLL.json > /tmp/temp.json && mv /tmp/temp.json /tmp/survey-$line-freetext.json && rm /tmp/survey-$line-freetext-$POLL.json ; done
|
||||
|
||||
cat /tmp/survey-$line-freetext.json | tr -cd '\11\12\40-\176' > /tmp/survey-$line-freetext-removed.json
|
||||
rm /tmp/survey-$line-freetext.json
|
||||
|
|
@ -62,18 +74,23 @@ for line in $(cat "$file_path"); do
|
|||
value="${!var_name}"
|
||||
if [[ -n "$value" ]]; then
|
||||
cat /tmp/survey-$line-freetext.json | jq --arg TEST "$value" '.[] | {name: .name, pollId: .pollId, results: .results[] | select(.groups[].labels[] | test($TEST; "i")) | {question: .question, questionId: .questionId, labels: [.groups[].labels[] | select(test($TEST; "i"))]}}' > /tmp/survey-$line-freetext-$var_name.json
|
||||
jq '. += [(inputs)]' /tmp/results-survey-$line-freetext.json /tmp/survey-$line-freetext-$var_name.json > temp.json && mv temp.json /tmp/results-survey-$line-freetext.json && rm /tmp/survey-$line-freetext-$var_name.json
|
||||
jq '. += [(inputs)]' /tmp/results-survey-$line-freetext.json /tmp/survey-$line-freetext-$var_name.json > /tmp/temp.json && mv /tmp/temp.json /tmp/results-survey-$line-freetext.json && rm /tmp/survey-$line-freetext-$var_name.json
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS="$old_IFS"
|
||||
|
||||
echo "Suche beendet. Ergebnisse sind:"
|
||||
|
||||
old_IFS="$IFS"
|
||||
IFS=$'\n'
|
||||
rm -f /tmp/resultfile.json 2>&1 >/dev/null
|
||||
touch /tmp/resultfile.json
|
||||
for line in $(cat "$file_path"); do
|
||||
cat /tmp/results-survey-$line-adress.json
|
||||
cat /tmp/results-survey-$line-freetext.json
|
||||
cat /tmp/results-survey-$line-adress.json >> /tmp/resultfile.json
|
||||
echo "" >> /tmp/resultfile.json
|
||||
cat /tmp/results-survey-$line-freetext.json >> /tmp/resultfile.json
|
||||
echo "" >> /tmp/resultfile.json
|
||||
done
|
||||
IFS="$old_IFS"
|
||||
IFS="$old_IFS"
|
||||
/usr/bin/gnome-text-editor /tmp/resultfile.json
|
||||
rm -f /tmp/resultfile.json
|
||||
rm -f /tmp/results-survey*.json
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
[Desktop Entry]
|
||||
Name=LamapollDSGVO
|
||||
Comment=Filter all Survey answers for occurences of the searched answers
|
||||
Exec=gnome-terminal -- "bash /usr/local/bin/lamapoll-DSGVO.sh"
|
||||
Exec=bash /usr/local/bin/lamapoll-DSGVO.sh
|
||||
Icon=utilities-terminal
|
||||
Terminal=true
|
||||
Type=Application
|
||||
|
|
|
|||
Loading…
Reference in New Issue