2022-09-05 16:31:07 +02:00
|
|
|
#!/bin/bash
|
|
|
|
########################################################################
|
|
|
|
# Version: 0.3
|
|
|
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
|
|
|
########################################################################
|
|
|
|
MY_PATH="`dirname \"$0\"`" # relative
|
|
|
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
|
|
|
ME="${0##*/}"
|
|
|
|
|
2022-12-09 01:09:17 +01:00
|
|
|
PLAYER=$1
|
|
|
|
|
2022-09-05 16:31:07 +02:00
|
|
|
[[ $PLAYER == "" ]] && PLAYER=$(cat ~/.zen/game/players/.current/.player 2>/dev/null)
|
|
|
|
[[ $PLAYER == "" ]] && echo "PLAYER manquant" && exit 1
|
|
|
|
PSEUDO=$(cat ~/.zen/game/players/$PLAYER/.pseudo 2>/dev/null)
|
|
|
|
[[ $G1PUB == "" ]] && G1PUB=$(cat ~/.zen/game/players/$PLAYER/.g1pub 2>/dev/null)
|
|
|
|
[[ $G1PUB == "" ]] && echo "G1PUB manquant" && exit 1
|
2022-11-17 18:54:28 +01:00
|
|
|
ASTRONAUTENS=$(ipfs key list -l | grep -w "${G1PUB}" | cut -d ' ' -f 1)
|
2022-09-05 16:31:07 +02:00
|
|
|
[[ $ASTRONAUTENS == "" ]] && echo "ASTRONAUTE manquant" && exit 1
|
|
|
|
|
2022-11-17 19:14:23 +01:00
|
|
|
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
|
|
|
IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID)
|
|
|
|
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
|
|
|
|
isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/")
|
2022-11-19 20:34:28 +01:00
|
|
|
[[ ! $myIP || $isLAN ]] && myIP="ipfs.localhost"
|
2022-11-17 19:14:23 +01:00
|
|
|
|
|
|
|
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
|
|
|
|
###############################
|
|
|
|
## EXTRACT G1Voeu from PLAYER TW
|
|
|
|
echo "Exporting $PLAYER TW [tag[G1Voeu]]"
|
|
|
|
rm -f ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1voeu.json
|
2022-12-08 23:19:09 +01:00
|
|
|
tiddlywiki --load ~/.zen/game/players/$PLAYER/ipfs/moa/index.html --output ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu --render '.' "${PLAYER}.g1voeu.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1Voeu]]'
|
2022-11-17 19:14:23 +01:00
|
|
|
|
|
|
|
[[ ! -s ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1voeu.json ]] && echo "AUCUN G1VOEU - EXIT -" && exit 1
|
|
|
|
|
|
|
|
cat ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1voeu.json | jq -r '.[].wish' > ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1wishes.txt
|
|
|
|
echo "VOEUX : ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1wishes.txt "$(cat ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1wishes.txt | wc -l)
|
|
|
|
|
|
|
|
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
|
|
|
|
|
|
|
|
|
2022-09-05 16:31:07 +02:00
|
|
|
for v in $(cat ~/.zen/game/players/*/voeux/*/.title); do
|
2022-10-12 23:29:14 +02:00
|
|
|
g1pub=$(grep -r $v ~/.zen/game/players/*/voeux/ 2>/dev/null | rev | cut -d '/' -f 2 | rev )
|
2022-09-07 13:46:57 +02:00
|
|
|
# echo "$v : $g1pub"
|
|
|
|
# echo '------------------------------------------------------------------'
|
2022-09-06 16:23:08 +02:00
|
|
|
vlist=($v:$g1pub ${vlist[@]})
|
2022-09-05 16:31:07 +02:00
|
|
|
done
|
|
|
|
|
2022-09-07 13:46:57 +02:00
|
|
|
# echo "${vlist[@]}"
|
2022-09-06 16:23:08 +02:00
|
|
|
|
2022-09-05 16:31:07 +02:00
|
|
|
PS3='Choisissez le voeux ___ '
|
|
|
|
voeux=($(ls ~/.zen/game/players/$PLAYER/voeux 2>/dev/null) "QUITTER")
|
|
|
|
|
2022-09-06 16:23:08 +02:00
|
|
|
select voeu in "${vlist[@]}"; do
|
2022-09-05 16:31:07 +02:00
|
|
|
case $voeu in
|
|
|
|
"QUITTER")
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
|
|
|
|
*) echo "IMPRESSION $voeu"
|
2022-09-06 16:23:08 +02:00
|
|
|
voeu=$(echo $voeu | cut -d ':' -f2) ## Get G1PUB part
|
2022-09-08 21:02:24 +02:00
|
|
|
TITLE=$(cat ~/.zen/game/world/$voeu/.pepper) ## Get Voeu title (pepper) = simple GUI form + Name collision => Voeu fusion
|
2022-09-06 16:23:08 +02:00
|
|
|
|
2022-09-05 16:31:07 +02:00
|
|
|
VOEUXNS=$(ipfs key list -l | grep $voeu | cut -d ' ' -f1)
|
2022-09-06 16:23:08 +02:00
|
|
|
|
2022-09-08 21:02:24 +02:00
|
|
|
choices=("TW" "G1")
|
|
|
|
PS3='Imprimer le QR du TiddlyWiki TW ou celui de son G1 portefeuille ?'
|
|
|
|
select typ in "${choices[@]}"; do
|
|
|
|
|
|
|
|
case $typ in
|
|
|
|
"TW")
|
2022-09-09 18:20:18 +02:00
|
|
|
echo "Changer de Gateway http://$myIP:8080 ?"
|
|
|
|
read GW && [[ ! $GW ]] && GW="http://$myIP:8080"
|
2022-09-08 21:02:24 +02:00
|
|
|
qrencode -s 12 -o "$HOME/.zen/game/world/$voeu/QR.WISHLINK.png" "http://$myIP:8080/ipns/$VOEUXNS"
|
|
|
|
convert $HOME/.zen/game/world/$voeu/QR.WISHLINK.png -resize 600 ~/.zen/tmp/START.png
|
|
|
|
echo " QR code $TITLE : http://$myIP:8080/ipns/$VOEUXNS"
|
|
|
|
break
|
|
|
|
;;
|
|
|
|
"G1")
|
|
|
|
qrencode -s 12 -o "$HOME/.zen/game/world/$voeu/G1PUB.png" "$voeu"
|
|
|
|
convert $HOME/.zen/game/world/$voeu/G1PUB.png -resize 600 ~/.zen/tmp/START.png
|
|
|
|
break
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
convert -gravity northwest -pointsize 40 -fill black -draw "text 50,2 \"$TITLE ($typ)\"" ~/.zen/tmp/START.png ~/.zen/tmp/g1voeu1.png
|
|
|
|
convert -gravity southeast -pointsize 40 -fill black -draw "text 50,2 \"($typ) $TITLE\"" ~/.zen/tmp/g1voeu1.png ~/.zen/tmp/g1voeu.png
|
2022-09-05 16:40:30 +02:00
|
|
|
|
2022-09-05 16:31:07 +02:00
|
|
|
|
|
|
|
LP=$(ls /dev/usb/lp* | head -n1)
|
|
|
|
[[ ! $LP ]] && echo "NO PRINTER FOUND - Brother QL700 validated" && continue
|
|
|
|
|
|
|
|
echo "IMPRESSION LIEN TW VOEU"
|
2022-09-05 16:40:30 +02:00
|
|
|
brother_ql_create --model QL-700 --label-size 62 ~/.zen/tmp/g1voeu.png > ~/.zen/tmp/toprint.bin 2>/dev/null
|
|
|
|
sudo brother_ql_print ~/.zen/tmp/toprint.bin $LP
|
2022-09-05 16:31:07 +02:00
|
|
|
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|