Pfadkonsistenz für die Schnittstelle zu sipgate-cli (und sowieso)
This commit is contained in:
parent
d981ef7ad3
commit
a6baa58013
|
@ -6,6 +6,7 @@ F=$1
|
||||||
O=false
|
O=false
|
||||||
LOC=""
|
LOC=""
|
||||||
COL=""
|
COL=""
|
||||||
|
BASEPATH=$(dirname $(realpath $0))
|
||||||
|
|
||||||
if [ $F = "-l" ] # -l möchte kein weiteres Argument, im Gegensatz zu allen anderen Optionen.
|
if [ $F = "-l" ] # -l möchte kein weiteres Argument, im Gegensatz zu allen anderen Optionen.
|
||||||
then
|
then
|
||||||
|
@ -13,7 +14,7 @@ then
|
||||||
while IFS="," read -r COL1 COL2 COLX
|
while IFS="," read -r COL1 COL2 COLX
|
||||||
do
|
do
|
||||||
echo "$COL1: $COL2"
|
echo "$COL1: $COL2"
|
||||||
done < <(tail -n +2 Adressen.csv)
|
done < <(tail -n +2 $BASEPATH/Adressen.csv)
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -28,60 +29,55 @@ then
|
||||||
echo "Ignoriere überschüssige Argumente"
|
echo "Ignoriere überschüssige Argumente"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $F = "-n" ]
|
case $F in
|
||||||
then
|
"-n")
|
||||||
COL=Name
|
COL=Name
|
||||||
O=true
|
O=true
|
||||||
fi
|
;;
|
||||||
|
|
||||||
if [ $F = "-a" ]
|
"-a")
|
||||||
then
|
|
||||||
COL=Anrede
|
COL=Anrede
|
||||||
O=true
|
O=true
|
||||||
fi
|
;;
|
||||||
|
|
||||||
if [ $F = "-d" ]
|
"-d")
|
||||||
then
|
|
||||||
COL=Adresse
|
COL=Adresse
|
||||||
O=true
|
O=true
|
||||||
fi
|
;;
|
||||||
|
|
||||||
if [ $F = "-f" ]
|
"-f")
|
||||||
then
|
|
||||||
# return fax number to be used by sipgate-cli
|
# return fax number to be used by sipgate-cli
|
||||||
COL=FaxNr
|
COL=FaxNr
|
||||||
O=true
|
O=true
|
||||||
fi
|
;;
|
||||||
|
|
||||||
if [ $F = "-t" ]
|
"-t")
|
||||||
then
|
|
||||||
COL=TelNr
|
COL=TelNr
|
||||||
O=true
|
O=true
|
||||||
fi
|
;;
|
||||||
|
|
||||||
if [ $F = "-c" ]
|
"-c")
|
||||||
then
|
|
||||||
COL=Closing
|
COL=Closing
|
||||||
O=true
|
O=true
|
||||||
fi
|
;;
|
||||||
|
|
||||||
if [ $F = "-p" ]
|
"-p")
|
||||||
then
|
|
||||||
COL=parent
|
COL=parent
|
||||||
O=true
|
O=true
|
||||||
fi
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
if [ $O = true ]
|
if [ $O = true ]
|
||||||
then
|
then
|
||||||
LOC=$(head -1 Adressen.csv | tr ',' '\n' | nl |grep -w "$COL" | tr -d " " | awk -F " " '{print $1}') #calculating position of requested Col
|
LOC=$(head -1 $BASEPATH/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'
|
grep "$H" $BASEPATH/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)
|
#Returning requested column, making sure to return only one result (even though redundant results shouldn't be possible)
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $F = "-e" ]
|
if [ $F = "-e" ]
|
||||||
then
|
then
|
||||||
NULL=$(grep "^$H" Adressen.csv)
|
NULL=$(grep "^$H" $BASEPATH/Adressen.csv)
|
||||||
ISH=$? #exit code. Der if-Block wird ausgeführt, wenn nichts gefunden wurde. (ISH steht für is handle)
|
ISH=$? #exit code. Der if-Block wird ausgeführt, wenn nichts gefunden wurde. (ISH steht für is handle)
|
||||||
if [ $ISH -eq 1 ]
|
if [ $ISH -eq 1 ]
|
||||||
then
|
then
|
||||||
|
@ -94,8 +90,8 @@ then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
IFS=',' read -ra HEADER <<< $(grep "^handle" Adressen.csv) #read field keys
|
IFS=',' read -ra HEADER <<< $(grep "^handle" $BASEPATH/Adressen.csv) #read field keys
|
||||||
IFS=',' read -ra VALUES <<< $(grep "^$H" Adressen.csv) #read old values
|
IFS=',' read -ra VALUES <<< $(grep "^$H" $BASEPATH/Adressen.csv) #read old values
|
||||||
# for loop startet bei 1, um die handle Spalte nicht zu editieren:
|
# for loop startet bei 1, um die handle Spalte nicht zu editieren:
|
||||||
for (( i=1; i<${#HEADER[@]}; i++ ));
|
for (( i=1; i<${#HEADER[@]}; i++ ));
|
||||||
do
|
do
|
||||||
|
@ -105,7 +101,7 @@ then
|
||||||
if [ ${HEADER[$i]} = "parent" ]
|
if [ ${HEADER[$i]} = "parent" ]
|
||||||
then
|
then
|
||||||
PARENT=${VALUES[$i]}
|
PARENT=${VALUES[$i]}
|
||||||
NULL=$(grep "^$PARENT" Adressen.csv) # findet alles, wenn $PARENT leer ist.
|
NULL=$(grep "^$PARENT" $BASEPATH/Adressen.csv) # findet alles, wenn $PARENT leer ist.
|
||||||
ISP=$? #exit code. Der if-Block wird ausgeführt, wenn nichts gefunden wurde.
|
ISP=$? #exit code. Der if-Block wird ausgeführt, wenn nichts gefunden wurde.
|
||||||
if [ $ISP -eq 1 ]
|
if [ $ISP -eq 1 ]
|
||||||
then
|
then
|
||||||
|
@ -118,7 +114,7 @@ fi
|
||||||
|
|
||||||
if [ $F = "-g" ]
|
if [ $F = "-g" ]
|
||||||
then
|
then
|
||||||
NULL=$(grep "^$H" Adressen.csv)
|
NULL=$(grep "^$H" $BASEPATH/Adressen.csv)
|
||||||
ISH=$? #exit code. Der if-Block wird ausgeführt, wenn etwas gefunden wurde. (ISH steht für is handle)
|
ISH=$? #exit code. Der if-Block wird ausgeführt, wenn etwas gefunden wurde. (ISH steht für is handle)
|
||||||
if [ $ISH -ne 1 ]
|
if [ $ISH -ne 1 ]
|
||||||
then
|
then
|
||||||
|
@ -136,8 +132,8 @@ then
|
||||||
read -p 'Nächsthöhere Hierarchieebene (handle): ' PARENT
|
read -p 'Nächsthöhere Hierarchieebene (handle): ' PARENT
|
||||||
ANREDE=${ANREDE:-"Damen und Herren"}
|
ANREDE=${ANREDE:-"Damen und Herren"}
|
||||||
CLOSING=${CLOSING:-"Mit der Ihnen gebührenden Hochachtung"}
|
CLOSING=${CLOSING:-"Mit der Ihnen gebührenden Hochachtung"}
|
||||||
echo "$H,$NAME,$ANREDE,$STREET\\\\$CITY,$FAX,$TEL,$CLOSING,$PARENT" >> Adressen.csv
|
echo "$H,$NAME,$ANREDE,$STREET\\\\$CITY,$FAX,$TEL,$CLOSING,$PARENT" >> $BASEPATH/Adressen.csv
|
||||||
NULL=$(grep "^$PARENT" Adressen.csv) # findet alles, wenn $PARENT leer ist.
|
NULL=$(grep "^$PARENT" $BASEPATH/Adressen.csv) # findet alles, wenn $PARENT leer ist.
|
||||||
ISP=$? #exit code. Der if-Block wird ausgeführt, wenn nichts gefunden wurde.
|
ISP=$? #exit code. Der if-Block wird ausgeführt, wenn nichts gefunden wurde.
|
||||||
if [ $ISP -eq 1 ]
|
if [ $ISP -eq 1 ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -20,6 +20,9 @@ Die **automatische Adresswahl** funktioniert mit dem Kommando `\receive`:
|
||||||
`\receive{<handle>}`
|
`\receive{<handle>}`
|
||||||
: in dieser Version ist `<handle>` ein Funktionshandle `INH` aus der Datei `DECKBLATT.csv`
|
: in dieser Version ist `<handle>` ein Funktionshandle `INH` aus der Datei `DECKBLATT.csv`
|
||||||
|
|
||||||
|
`\receive`
|
||||||
|
: ohne jegliche Argumente holt sich `\receive` die Adresse des aktuellen Hauptbrieffeindes aus der Datei `DECKBLATT.csv` (stand=="+")
|
||||||
|
|
||||||
### Templates
|
### Templates
|
||||||
`\einspruch{<Art>}`
|
`\einspruch{<Art>}`
|
||||||
: `<Art>` sollte `Strafbefehl` oder `Bußgeldbescheid` sein. Aktenzeichen und Briefdatum sollten über die Schnittstellen, am Besten über `\receive` vorher gesetzt sein, da dieser Befehl diese Werte per Schnittstelle abruft.
|
: `<Art>` sollte `Strafbefehl` oder `Bußgeldbescheid` sein. Aktenzeichen und Briefdatum sollten über die Schnittstellen, am Besten über `\receive` vorher gesetzt sein, da dieser Befehl diese Werte per Schnittstelle abruft.
|
||||||
|
@ -54,9 +57,9 @@ In jedem Aktenordner zwei Dateien
|
||||||
```
|
```
|
||||||
DECKBLATT.csv
|
DECKBLATT.csv
|
||||||
=============
|
=============
|
||||||
INH,handle,aktenzeichen,zuständig
|
INH,handle,aktenzeichen,stand
|
||||||
```
|
```
|
||||||
Wo `INH ∈ {AG,LG,StA,OLG,BVerfG,VG,OVG,GEG,SG}` und `zuständig='+'` in der Zeile des aktuellen Hauptbrieffeindes.
|
Wo `INH ∈ {AG,LG,StA,OLG,BVerfG,VG,OVG,GEG,SG}` und `stand='+'` in der Zeile des aktuellen Hauptbrieffeindes.
|
||||||
|
|
||||||
```
|
```
|
||||||
Wiedervorlagen.csv
|
Wiedervorlagen.csv
|
||||||
|
|
|
@ -17,7 +17,10 @@
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
% Adress detection
|
% Adress detection
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%
|
% usage: \receive % aktueller Hauptbrieffeind
|
||||||
|
% \receive{INH} % INH aus DECKBLATT.csv
|
||||||
|
% \receive*{handle} % handle aus Adressen.csv
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\newcommand*{\receivestar}[1]{
|
\newcommand*{\receivestar}[1]{
|
||||||
\DTLloaddb{adressen}{/home/bernhardt/Entwicklung/Letterhead/Adressen/Adressen.csv}
|
\DTLloaddb{adressen}{/home/bernhardt/Entwicklung/Letterhead/Adressen/Adressen.csv}
|
||||||
\DTLassignfirstmatch{adressen}{handle}{#1}{\Name=Name,\Adresse=Adresse,\FaxNr=FaxNr,\TelNr=TelNr,\Opening=Anrede,\Closing=Closing}
|
\DTLassignfirstmatch{adressen}{handle}{#1}{\Name=Name,\Adresse=Adresse,\FaxNr=FaxNr,\TelNr=TelNr,\Opening=Anrede,\Closing=Closing}
|
||||||
|
|
Loading…
Reference in a new issue