Compare commits

...

3 Commits

Author SHA1 Message Date
Gandalf d981ef7ad3 Edit address 2021-03-13 20:45:17 +01:00
Gandalf bf2580c38b Adresse eintragen 2021-03-13 19:51:38 +01:00
Gandalf 737b3fd402 address.sh does it's output as it should 2021-03-13 17:44:33 +01:00
3 changed files with 168 additions and 1 deletions

View File

@ -1,3 +1,9 @@
handle,Name,Anrede,Adresse,FaxNr,TelNr,Closing,parent
AGdn,"AG Düren","Damen und Herren","August-Klotz-Str. 14\\52349 Düren",02421 493-6001,02421 493-0,"Mit der Ihnen gebührenden Hochachtung",LGac
LGac,"Landgericht Aachen","Damen und Herren","Adalbertsteinweg 92\\52070 Aachen",0241 9425-80000,0241 9425-0,"Mit der Ihnen gebührenden Hochachtung",OLGHamm
LGac,"Landgericht Aachen","Damen und Herren","Adalbertsteinweg 92\\52070 Aachen",0241 9425-80000,0241 9425-0,"Mit der Ihnen gebührenden Hochachtung",OLGham
OLGham,Oberlandesgericht Hamm,,Heßlerstraße 53\\59065 Hamm,02381 272-518,02381 272-0,
AGkerpen,Amtsgericht Kerpen,,Nordring 2-8\\50171 Kerpen,02237 508-470,02237 508-0,LGk
LGk,Landgericht Köln,Damen und Herren,Luxemburger Straße 101\\50939 Köln,0221 477-3333,0221 477-0,Mit der Ihnen gebührenden Hochachtung,OLGk
AGfl,Amtsgericht Flensburg,Damen und Herren,Südergraben 22\\24937 Flensburg,0461 89-434,0461 89-0,Mit der Ihnen gebührenden Hochachtung,LGfl
LGfl,Landgericht Flensburg,Damen und Herren,Südergraben 22\\24937 Flensburg,0461 89-295,0461 89-0,Mit der Ihnen gebührenden Hochachtung,OLGsh
OLGsh,Schleswig-Holsteinisches Oberlandesgericht,Damen und Herren,Gottorfstraße 2\\24837 Schleswig,+ 49 4621 86-1372,+49 4621 86-0,Mit der Ihnen gebührenden Hochachtung,

Can't render this file because it has a wrong number of fields in line 4.

146
Adressen/address.sh Executable file
View File

@ -0,0 +1,146 @@
#! /bin/bash
# address takes two arguments: a flag what to do as $1 and a handle to handle as $2
H=$2
F=$1
O=false
LOC=""
COL=""
if [ $F = "-l" ] # -l möchte kein weiteres Argument, im Gegensatz zu allen anderen Optionen.
then
echo "handle: Name"
while IFS="," read -r COL1 COL2 COLX
do
echo "$COL1: $COL2"
done < <(tail -n +2 Adressen.csv)
exit 0
fi
if [ $# -lt 2 ]
then
echo "Zu wenig Argumente"
exit 1
fi
if [ $# -gt 2 ]
then
echo "Ignoriere überschüssige Argumente"
fi
if [ $F = "-n" ]
then
COL=Name
O=true
fi
if [ $F = "-a" ]
then
COL=Anrede
O=true
fi
if [ $F = "-d" ]
then
COL=Adresse
O=true
fi
if [ $F = "-f" ]
then
# return fax number to be used by sipgate-cli
COL=FaxNr
O=true
fi
if [ $F = "-t" ]
then
COL=TelNr
O=true
fi
if [ $F = "-c" ]
then
COL=Closing
O=true
fi
if [ $F = "-p" ]
then
COL=parent
O=true
fi
if [ $O = true ]
then
LOC=$(head -1 Adressen.csv | tr ',' '\n' | nl |grep -w "$COL" | tr -d " " | awk -F " " '{print $1}') #calculating position of requested Col
grep "$H" Adressen.csv | head -n 1 | cut -d "," -f$LOC | sed 's/"//g'
#Returning requested column, making sure to return only one result (even though redundant results shouldn't be possible)
exit 0
fi
if [ $F = "-e" ]
then
NULL=$(grep "^$H" Adressen.csv)
ISH=$? #exit code. Der if-Block wird ausgeführt, wenn nichts gefunden wurde. (ISH steht für is handle)
if [ $ISH -eq 1 ]
then
read -p "Dieses Handle ist unbekannt. Neuen Datensatz anlegen? (j/n)" J
if [ $J = "j"]
then
eval $0 -g $H
exit 0
else
exit 1
fi
fi
IFS=',' read -ra HEADER <<< $(grep "^handle" Adressen.csv) #read field keys
IFS=',' read -ra VALUES <<< $(grep "^$H" Adressen.csv) #read old values
# for loop startet bei 1, um die handle Spalte nicht zu editieren:
for (( i=1; i<${#HEADER[@]}; i++ ));
do
read -rp "${HEADER[$i]} (${VALUES[$i]}): " NEWVAL
# echo "${HEADER[$i]} (${VALUES[$i]}): "
VALUES[$i]=${NEWVAL:-${VALUES[$i]}}
if [ ${HEADER[$i]} = "parent" ]
then
PARENT=${VALUES[$i]}
NULL=$(grep "^$PARENT" Adressen.csv) # findet alles, wenn $PARENT leer ist.
ISP=$? #exit code. Der if-Block wird ausgeführt, wenn nichts gefunden wurde.
if [ $ISP -eq 1 ]
then
eval $0 -g $PARENT
fi
fi
done
echo ${VALUES[*]}
fi
if [ $F = "-g" ]
then
NULL=$(grep "^$H" Adressen.csv)
ISH=$? #exit code. Der if-Block wird ausgeführt, wenn etwas gefunden wurde. (ISH steht für is handle)
if [ $ISH -ne 1 ]
then
echo "Handle schon vergeben"
exit 1
fi
echo "==========Generate Address for handle $H=================="
read -p 'Name: ' NAME
read -p 'Anrede (default: "Damen und Herren"): ' ANREDE
read -p 'Straße und Hausnummer: ' STREET
read -p 'PLZ und Ort: ' CITY
read -p 'Faxnummer: ' FAX
read -p 'Telefonnummer: ' TEL
read -p 'Schlussformel (default: "Mit der Ihnen gebührenden Hochachtung"):' CLOSING
read -p 'Nächsthöhere Hierarchieebene (handle): ' PARENT
ANREDE=${ANREDE:-"Damen und Herren"}
CLOSING=${CLOSING:-"Mit der Ihnen gebührenden Hochachtung"}
echo "$H,$NAME,$ANREDE,$STREET\\\\$CITY,$FAX,$TEL,$CLOSING,$PARENT" >> Adressen.csv
NULL=$(grep "^$PARENT" Adressen.csv) # findet alles, wenn $PARENT leer ist.
ISP=$? #exit code. Der if-Block wird ausgeführt, wenn nichts gefunden wurde.
if [ $ISP -eq 1 ]
then
eval $0 -g $PARENT
fi
fi

View File

@ -74,6 +74,21 @@ Markdown-formatierte Übersicht. Oder ein anderes Format? An sich könnte er das
Holt sich die Aktenzeichen aus `DECKBLATT.csv`
#### `address.sh`
Führt durch die Eintragung in die Adressdatenbank oder gibt einzelne Werte aus selbiger zurück. (Zur Verwendung durch `sipgate-cli` zB)
```
./address.sh <flag> <handle>
```
Verfügbare Flags:
* `-f` gibt die Faxnummer zurück. Anwendung: `fax <Datei> $(address.sh -f <handle>)`
* `-t`: Telefonnummer
* `-p`: Parent Entity
* `-a`: Anrede
* `-d`: Adresse
* `-n`: Name
* `-e`: Editieren
* `-c`: Erzeugen eines Eintrags
* `-l`: Auflisten aller `handle`s und Namen. Dies ist die einzige Option, die kein angegebenes `<handle>` verlangt.
Wird `<handle>` nicht angegeben, soll nach der aktuell zuständigen Stelle in einer `DECKBLATT.csv` gesucht werden. Das ist aber Zukunftsmusik, die Angabe von `<handle>` wird, außer bei `-l`, immer verlangt.
#### `init.sh`
Führt durch die Anlage eines Deckblattes ~~und stellt sicher, dass die korrekte Gerichtshierarchie eingetragen ist~~.
#### `rechtsmittel.sh`