Compare commits

..

2 Commits

Author SHA1 Message Date
d2a2c43386
Adafruit added 2020-06-11 17:54:10 +02:00
f98164f8e6
Missing FILE 2020-06-11 15:20:25 +02:00
10 changed files with 498 additions and 10 deletions

134
adafruit/gpgkey Executable file
View File

@ -0,0 +1,134 @@
#!/bin/bash
FILE=/tmp/$RANDOM
TOP=1
LEFT=3
# Additional heading space
HEADINGNEXTPAGE=36
HEADINGLEFT=1
HEADINGRIGHT=20
# GPG Space
NEXTPAGE=62
NEXTFIELDBOTTOM=11
NEXTFIELDRIGHT=31
MAXLENGTH=22
if [ $# -eq 0 ]; then
echo -e "$0: Syntax:\n$0 FIELD GPG FINGERPRINT WITH SPACES\n\nExample:\n$0 7 1234 5678 1234 1234 1234 1234 1234 1234 1234 ABCD\n\n\nFields:
==================
| VISAS || VISAS |
==================
| 0 | 1 || 4 | 5 |
|---|---||---|---|
| 2 | 3 || 6 | 7 |
==================
"
exit 1
fi
PAGE=$(($1 / 4))
FIELD=$(($1 % 4))
shift 1
echo "PAGE: $PAGE, FIELD: $FIELD"
function moveDown() {
for((i=0; i<$(($FIELD / 2)); i++)); do
for((j=0; j<$NEXTFIELDBOTTOM; j++)); do
printf "\n" >> $FILE
done
done
}
function heading() {
moveDown
if [ $(($FIELD % 2)) -eq 0 ]; then
SPACE=$HEADINGLEFT
else
SPACE=$HEADINGRIGHT
fi
if [ $PAGE -eq 1 ]; then
makeLeft $HEADINGNEXTPAGE $FILE
fi
makeLeft $LEFT $FILE
makeLeft $SPACE $FILE
bigLetters $FILE
printf "GPG" >> $FILE
resetLetters $FILE
printf "\n" >> $FILE
}
function insertFP() {
if [ $(($FIELD % 2 )) -eq 0 ]; then
SPACE=0
else
SPACE=$NEXTFIELDRIGHT
fi
smallLetters $FILE
if [ $PAGE -eq 1 ]; then
makeLeft $NEXTPAGE $FILE
fi
makeLeft $LEFT $FILE
makeLeft $(($SPACE + 2)) $FILE
printf "$1 $2 $3 $4" >> $FILE
resetLetters $FILE
printf "\n" >> $FILE
shift 4
smallLetters $FILE
if [ $PAGE -eq 1 ]; then
makeLeft $NEXTPAGE $FILE
fi
makeLeft $LEFT $FILE
makeLeft $(($SPACE + 2)) $FILE
printf "$1 $2 $3 $4" >> $FILE
resetLetters $FILE
printf "\n" >> $FILE
shift 4
smallLetters $FILE
if [ $PAGE -eq 1 ]; then
makeLeft $NEXTPAGE $FILE
fi
makeLeft $LEFT $FILE
makeLeft $(($SPACE + 2)) $FILE
printf "$1 $2" >> $FILE
resetLetters $FILE
printf "\n" >> $FILE
shift 2
smallLetters $FILE
if [ $PAGE -eq 1 ]; then
makeLeft $NEXTPAGE $FILE
fi
makeLeft $LEFT $FILE
makeLeft $(($SPACE + 2)) $FILE
if [ -n "$EVENT" ]; then
printf "$EVENT, $(date -I)" >> $FILE
else
printf "$(date -I)" >> $FILE
fi
}
source ../include/nixdorf
init
makeNewline $TOP $FILE
heading
insertFP $@
printFile $FILE
rm $FILE

122
adafruit/iro Executable file
View File

@ -0,0 +1,122 @@
#!/bin/bash
FILE=/tmp/$RANDOM
TOP=1
LEFT=5
# Additional heading space
HEADINGNEXTPAGE=19
HEADINGLEFT=1
HEADINGRIGHT=10
# GPG Space
NEXTPAGE=34
NEXTPAGESMALL=60
NEXTFIELDBOTTOM=13
NEXTFIELDRIGHT=18
NEXTFIELDRIGHTSMALL=30
if [ $# -eq 0 ]; then
echo -e "$0: Syntax:\n$0 FIELD\n\nExample:\n$0 7\n\n\nFields:
==================
| VISAS || VISAS |
==================
| 0 | 1 || 4 | 5 |
|---|---||---|---|
| 2 | 3 || 6 | 7 |
==================
"
exit 1
fi
PAGE=$(($1 / 4))
FIELD=$(($1 % 4))
shift 1
echo "PAGE: $PAGE, FIELD: $FIELD"
function moveDown() {
for((i=0; i<$(($FIELD / 2)); i++)); do
for((j=0; j<$NEXTFIELDBOTTOM; j++)); do
printf "\n" >> $FILE
done
done
}
function heading() {
moveDown
if [ $(($FIELD % 2)) -eq 0 ]; then
HSPACE=$HEADINGLEFT
SPACE=0
else
HSPACE=$HEADINGRIGHT
SPACE=$NEXTFIELDRIGHT
fi
if [ $PAGE -eq 1 ]; then
makeLeft $NEXTPAGE $FILE
fi
makeLeft 3 $FILE
makeLeft $SPACE $FILE
italicLetters $FILE
printf "INTERGALACTIC\n" >> $FILE
if [ $PAGE -eq 1 ]; then
makeLeft $NEXTPAGE $FILE
fi
makeLeft 3 $FILE
makeLeft $SPACE $FILE
printf "REGISTRATION\n" >> $FILE
bigLetters $FILE
if [ $PAGE -eq 1 ]; then
makeLeft $HEADINGNEXTPAGE $FILE
if [ $(($FIELD % 2)) -eq 1 ]; then
makeLeft $(($HSPACE - 1)) $FILE
fi
else
makeLeft 1 $FILE
makeLeft $HSPACE $FILE
fi
printf "OFFICE\n" >> $FILE
resetLetters $FILE
}
function insertDate() {
if [ $(($FIELD % 2 )) -eq 0 ]; then
SPACE=0
else
SPACE=$NEXTFIELDRIGHTSMALL
fi
smallLetters $FILE
if [ $PAGE -eq 1 ]; then
makeLeft $NEXTPAGESMALL $FILE
fi
makeLeft $LEFT $FILE
makeLeft $(($SPACE + 2)) $FILE
if [ -n "$EVENT" ]; then
printf "$EVENT, $(date -I)" >> $FILE
else
printf "$(date -I)" >> $FILE
fi
}
source ../include/nixdorf
init
makeNewline $TOP $FILE
heading
insertDate
printFile $FILE
rm $FILE

18
adafruit/msg5 Executable file
View File

@ -0,0 +1,18 @@
#!/bin/bash
FILE=/tmp/$RANDOM
source ../include/nixdorf
init
smallLetters $FILE
#printf "\x1b\x33\x0a" >> $FILE
printf "\x1b\x33\x0e" >> $FILE
#for j in $(seq 0 10); do
for i in $(seq 0 100); do
printf " $i\n" >> $FILE
done
#done
printFile $FILE
rm $FILE

52
adafruit/reg Executable file
View File

@ -0,0 +1,52 @@
#!/bin/bash
FILE=/tmp/$RANDOM
TOP=56
NEXTFIELD=5
LEFT=22
AUTHLEFT=56
DATELEFT=37
MAXLENGTH=17
GIVENNAME=$1
SURNAME=$2
HOME=$3
if [ ${#GIVENNAME} -gt $MAXLENGTH ] || [ ${#SURNAME} -gt $MAXLENGTH ] || [ ${#HOME} -gt $MAXLENGTH ]; then
echo "MAXLENGTH EXCEEDED."
exit 1
fi
source ../include/nixdorf
init
smallLetters $FILE
printf "\x1b\x33\x0e" >> $FILE
makeNewline $TOP $FILE
makeLeft $LEFT $FILE
printf "$GIVENNAME" >> $FILE
# Authority field
makeNewline 2 $FILE
makeLeft $AUTHLEFT $FILE
printf "Intergalactic Reg. Office" >> $FILE
makeNewline 3 $FILE
makeLeft $LEFT $FILE
printf "$SURNAME" >> $FILE
makeNewline $NEXTFIELD $FILE
makeLeft $LEFT $FILE
printf "$HOME" >> $FILE
makeNewline 4 $FILE
makeLeft $DATELEFT $FILE
if [ -n "$EVENT" ]; then
printf "/ $EVENT, $(date -I)" >> $FILE
else
printf "/ $(date -I)" >> $FILE
fi
printFile $FILE
rm $FILE

View File

@ -6,7 +6,8 @@ function init() {
# \x1b\x47 - Double Strike # \x1b\x47 - Double Strike
# \x1b\x78\x01 - Standard Letter Mode # \x1b\x78\x01 - Standard Letter Mode
# \x1b\x52\x02 - German # \x1b\x52\x02 - German
printf "\x1b\x47\x1b\x78\x01\x1b\x52\x02" >> "$DEVICE" # \x1b\x33\x20 - 20/180 inch line spacing (standard)
printf "\x1b\x47\x1b\x78\x01\x1b\x52\x02\x1b\x33\x20" >> "$DEVICE"
} }

View File

@ -100,7 +100,7 @@ function insertFP() {
smallLetters $FILE smallLetters $FILE
if [ $PAGE -eq 1 ]; then if [ $PAGE -eq 1 ]; then
makeLeft $NEXTPAGE makeLeft $NEXTPAGE $FILE
fi fi
makeLeft $LEFT $FILE makeLeft $LEFT $FILE
makeLeft $(($SPACE + 2)) $FILE makeLeft $(($SPACE + 2)) $FILE

View File

@ -14,7 +14,6 @@ NEXTPAGESMALL=48
NEXTFIELDBOTTOM=7 NEXTFIELDBOTTOM=7
NEXTFIELDRIGHT=14 NEXTFIELDRIGHT=14
NEXTFIELDRIGHTSMALL=25 NEXTFIELDRIGHTSMALL=25
MAXLENGTH=22
if [ $# -eq 0 ]; then if [ $# -eq 0 ]; then
echo -e "$0: Syntax:\n$0 FIELD\n\nExample:\n$0 7\n\n\nFields: echo -e "$0: Syntax:\n$0 FIELD\n\nExample:\n$0 7\n\n\nFields:
@ -62,7 +61,7 @@ function heading() {
if [ $PAGE -eq 1 ]; then if [ $PAGE -eq 1 ]; then
makeLeft $NEXTPAGE makeLeft $NEXTPAGE $FILE
fi fi
makeLeft 1 $FILE makeLeft 1 $FILE
makeLeft $SPACE $FILE makeLeft $SPACE $FILE
@ -70,7 +69,7 @@ function heading() {
printf "INTERGALACTIC\n" >> $FILE printf "INTERGALACTIC\n" >> $FILE
if [ $PAGE -eq 1 ]; then if [ $PAGE -eq 1 ]; then
makeLeft $NEXTPAGE makeLeft $NEXTPAGE $FILE
fi fi
makeLeft 1 $FILE makeLeft 1 $FILE
makeLeft $SPACE $FILE makeLeft $SPACE $FILE

View File

@ -1 +0,0 @@
./JunghackerPass "Foobert" "van Barbert" "Erde / Earth" "37C3, $(date -I)"

171
start
View File

@ -108,7 +108,7 @@ function jhpPrintGPG() {
function jhpPrintReg() { function jhpPrintReg() {
diaBox "Insert Passport" "Please insert passport (First page, name, planet, date) into the printer." diaBox "Insert Passport" "Please insert passport (First page, name, planet, date) into the printer."
cd jhp cd jhp
./JunghackerPass "$FNAME" "$SNAME" "$PLANET" ./reg "$FNAME" "$SNAME" "$PLANET"
cd .. cd ..
return 0 return 0
} }
@ -227,14 +227,175 @@ function jhpmenu() {
unset FIELD unset FIELD
} }
function adaAskForField() {
text="$1: Please choose a free field on the passport.\n
------------------\n
| VISAS || VISAS |\n
==================\n
| 0 | 1 || 4 | 5 |\n
|---|---||---|---|\n
| 2 | 3 || 6 | 7 |\n
==================\n
"
askStr 2 "Select a field" "$text" "" 18
if [ $? -eq 1 ]; then
return 1
fi
FIELD=$(cat $TMP)
if ! [[ "$FIELD" =~ ^[0-9]+$ ]] || [ -z "$FIELD" ] || [ $FIELD -lt 0 ] || [ $FIELD -gt 7 ]; then
adaAskForField
else
return 0
fi
}
function adaPrintGPG() {
adaAskForField "GPG fingerprint"
if [ $? -eq 0 ]; then
diaBox "Insert Passport" "Please insert passport (Visas) into the printer."
cd adafruit
./gpgkey $FIELD $FP
cd ..
return 0
else
return 1
fi
}
function adaPrintReg() {
diaBox "Insert Passport" "Please insert passport (First page, name, place) into the printer."
cd adafruit
./reg "$FNAME" "$SNAME" "$PLANET"
cd ..
return 0
}
function adaIROStamp() {
adaAskForField "IRO stamp"
if [ $? -eq 0 ]; then
diaBox "Insert Passport" "Please insert passport (Visas) into the printer."
cd adafruit
./iro $FIELD
cd ..
return 0
else
return 1
fi
}
function adaGPG() {
askStr 49 "GPG Fingerprint" "Enter GPG fingerprint WITH SPACES. E.g.:\n 1234 5678 9ABC DEF0 1234 5678 9ABC DEF0 1234 5678"
if [ $? -eq 0 ]; then
FP=$(cat $TMP)
rm $TMP
if ! [[ $FP =~ ^([[:xdigit:]]{4} ){9}[[:xdigit:]]{4}$ ]]; then
diaBox "GPG Fingerprint" "This does not match the RegEx of a GPG fingerprint.\nPlease type in the whole fingerprint."
adaGPG
fi
FP=$(echo "$FP" | tr [a-f] [A-F])
else
return 1
fi
if [ "$1" == "no-confirm" ]; then
return 0
else
confirm "GPG Fingerprint" " GPG:\n $FP"
return $?
fi
}
function adaReg() {
askStr 25 "Forename/Nickname" "Enter forename/nickname"
if [ $? -eq 1 ]; then
return 1
fi
FNAME=$(cat $TMP)
askStr 25 "Surename" "Enter surename"
if [ $? -eq 1 ]; then
return 1
fi
SNAME=$(cat $TMP)
askStr 25 "Place" "Enter place" "Earth, Chaospott"
if [ $? -eq 1 ]; then
return 1
fi
PLANET=$(cat $TMP)
confirm=" Forename: $FNAME\n Surename: $SNAME\n Place: $PLANET"
ynBox "IRO Stamp" "Does this being want to have a IRO stamp?"
if [ $? -eq 0 ]; then
STAMP=true
else
STAMP=false
fi
ynBox "GPG" "Does the being have a GPG key to register?"
if [ $? -eq 0 ]; then
adaGPG no-confirm
if [ $? -eq 0 ]; then
confirm="$confirm\n GPG:\n $FP"
fi
fi
confirm "Everything" "$confirm"
return $?
}
function adamenu() {
dialog --backtitle "$BT" \
--menu "Select ID type:" 14 40 3 \
1 "Registration" \
2 "IRO Stamp" \
3 "GPG" \
9 "Back" 2> $TMP
choice=$(cat $TMP)
case $choice in
1) adaReg
if [ $? -eq 0 ]; then
adaPrintReg
if [ "$STAMP" == "true" ]; then
adaIROStamp
fi
if [ -n "$FP" ]; then
adaPrintGPG
fi
fi
;;
2) adaIROStamp
;;
3) adaGPG
if [ $? -eq 0 ]; then
adaPrintGPG
fi
;;
esac
unset FNAME
unset SNAME
unset PLANET
unset FP
unset FIELD
}
while [ true ]; do while [ true ]; do
dialog --backtitle "$BT" \ dialog --backtitle "$BT" \
--menu "Select ID type:" 10 40 3 \ --menu "Select ID type:" 10 40 3 \
1 "Junghackerpass" \ 1 "Junghackerpass" \
2 "Usual" 2> $TMP 2 "New Adafruit passport" \
9 "Usual" 2> $TMP
if [ $? -eq 1 ]; then if [ $? -eq 9 ]; then
break break
fi fi
@ -244,7 +405,9 @@ while [ true ]; do
case $TYPE in case $TYPE in
1) jhpmenu 1) jhpmenu
;; ;;
2) exit 0 2) adamenu
;;
9) exit 0
;; ;;
esac esac
done done