2022-08-23 13:38:37 +02:00
|
|
|
#!/bin/bash
|
|
|
|
################################################################################
|
|
|
|
# Author: Fred (support@qo-op.com)
|
|
|
|
# Version: 0.1
|
|
|
|
# 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##*/}"
|
|
|
|
################################################################################
|
|
|
|
# Inspect game wishes, refresh latest IPNS version
|
2022-10-10 00:39:07 +02:00
|
|
|
# SubProcess Backup and chain
|
2022-10-12 23:29:14 +02:00
|
|
|
INDEX="$1"
|
2022-10-24 14:59:14 +02:00
|
|
|
[[ ! $INDEX ]] && echo "Please provide path to source TW index.html - EXIT -" && exit 1
|
|
|
|
[[ ! -f $INDEX ]] && echo "Fichier TW absent. $INDEX - EXIT -" && exit 1
|
2022-08-23 13:38:37 +02:00
|
|
|
|
2022-10-12 23:29:14 +02:00
|
|
|
PLAYER="$2" ## IPNS KEY NAME - G1PUB - PLAYER ...
|
|
|
|
[[ ! $PLAYER ]] && echo "Please provide IPFS publish key" && exit 1
|
2022-08-23 19:27:38 +02:00
|
|
|
|
2022-11-05 22:08:18 +01:00
|
|
|
PSEUDO=$(cat ~/.zen/game/players/$PLAYER/.pseudo 2>/dev/null)
|
|
|
|
G1PUB=$(cat ~/.zen/game/players/$PLAYER/.g1pub 2>/dev/null)
|
|
|
|
ASTRONS=$(cat ~/.zen/game/players/$PLAYER/.playerns 2>/dev/null)
|
|
|
|
|
|
|
|
## REFRESH ASTRONAUTE TW
|
|
|
|
ASTRONAUTENS=$(ipfs key list -l | grep $PLAYER | cut -d ' ' -f1)
|
|
|
|
[[ ! $ASTRONAUTENS ]] && echo "WARNING No $PLAYER in keystore --" && ASTRONAUTENS=$ASTRONS
|
|
|
|
[[ ! $ASTRONAUTENS ]] && echo "Missing $PLAYER IPNS KEY - CONTINUE --" && exit 1
|
2022-08-25 17:21:39 +02:00
|
|
|
|
2022-10-28 01:51:34 +02:00
|
|
|
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
2022-11-05 22:08:18 +01:00
|
|
|
IPFSNODEID=$(ipfs id -f='<id>\n')
|
|
|
|
|
2022-10-28 01:51:34 +02:00
|
|
|
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
|
2022-11-05 13:55:02 +01:00
|
|
|
isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/")
|
|
|
|
[[ ! $myIP || $isLAN ]] && myIP="127.0.1.1"
|
2022-10-28 01:51:34 +02:00
|
|
|
|
2022-11-05 22:32:28 +01:00
|
|
|
mkdir -p ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu
|
2022-10-28 01:51:34 +02:00
|
|
|
|
2022-10-24 14:59:14 +02:00
|
|
|
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
|
2022-10-12 23:29:14 +02:00
|
|
|
###############################
|
|
|
|
## EXTRACT G1Voeu from PLAYER TW
|
|
|
|
echo "Exporting $PLAYER TW [tag[G1Voeu]]"
|
2022-11-05 22:32:28 +01:00
|
|
|
rm -f ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1voeu.json
|
|
|
|
tiddlywiki --load ${INDEX} --output ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu --render '.' "${PLAYER}.g1voeu.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1Voeu]]'
|
2022-10-12 23:29:14 +02:00
|
|
|
|
2022-11-05 22:32:28 +01:00
|
|
|
[[ ! -s ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1voeu.json ]] && echo "AUCUN G1VOEU - EXIT -" && exit 1
|
2022-10-24 16:19:33 +02:00
|
|
|
|
2022-11-05 22:32:28 +01:00
|
|
|
cat ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1voeu.json | jq -r '.[].wish' > ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1wishes.txt
|
|
|
|
echo "NB DE VOEUX : "$(cat ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1wishes.txt | wc -l)
|
2022-10-16 02:57:29 +02:00
|
|
|
|
2022-10-24 14:59:14 +02:00
|
|
|
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
|
|
|
|
|
2022-10-12 23:29:14 +02:00
|
|
|
## GET VoeuTitle LIST
|
2022-10-16 02:57:29 +02:00
|
|
|
while read WISH
|
2022-08-23 13:38:37 +02:00
|
|
|
do
|
2022-10-28 02:01:23 +02:00
|
|
|
[[ ${WISH} = "" ]] && continue
|
2022-10-24 14:59:14 +02:00
|
|
|
echo "==============================="
|
2022-10-28 02:01:23 +02:00
|
|
|
echo "G1Voeu ${WISH}"
|
|
|
|
## Get ${WISHNAME} TW
|
2022-11-05 22:32:28 +01:00
|
|
|
WISHNAME=$(cat ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1voeu.json | jq .[] | jq -r 'select(.wish=="'${WISH}'") | .title')
|
2022-10-28 02:01:23 +02:00
|
|
|
[[ ! ${WISHNAME} ]] && echo "WISH sans NOM - CONTINUE -" && continue
|
2022-11-05 22:32:28 +01:00
|
|
|
VOEUNS=$(cat ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1voeu.json | jq .[] | jq -r 'select(.wish=="'${WISH}'") | .ipns')
|
2022-10-24 16:19:33 +02:00
|
|
|
|
2022-11-05 22:32:28 +01:00
|
|
|
mkdir -p ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/${WISH}
|
2022-10-12 23:29:14 +02:00
|
|
|
|
2022-10-30 18:27:08 +01:00
|
|
|
|
|
|
|
## RUN SPECIFIC G1Voeu ASTROBOT PROGRAM (like G1CopierYoutube.sh)
|
2022-10-28 02:01:23 +02:00
|
|
|
if [[ -s $MY_PATH/G1${WISHNAME}.sh ]]; then
|
|
|
|
echo "........................ Astrobot G1${WISHNAME}.sh program found !"
|
2022-10-12 23:29:14 +02:00
|
|
|
echo "________________________________ Running it *****"
|
|
|
|
${MY_PATH}/G1${WISHNAME}.sh "$INDEX" "$PLAYER"
|
|
|
|
echo "________________________________ Finished ******"
|
2022-10-24 14:59:14 +02:00
|
|
|
else
|
2022-10-28 02:01:23 +02:00
|
|
|
echo "......................... G1${WISHNAME} No special program found !"
|
2022-10-12 23:29:14 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
## RUN TW search & copy treatment
|
2022-10-24 14:59:14 +02:00
|
|
|
echo "*********************************"
|
2022-10-12 23:29:14 +02:00
|
|
|
##################################
|
2022-10-28 02:01:23 +02:00
|
|
|
## Search for [tag[G1${WISHNAME}]] in all Friends TW.
|
2022-10-12 23:29:14 +02:00
|
|
|
## Copy tiddlers ...
|
|
|
|
##################################
|
2022-10-28 02:01:23 +02:00
|
|
|
echo "NOW SEARCH Ŋ1 FRIENDS TW's FOR tag=${WISHNAME}"
|
|
|
|
echo "ls ~/.zen/game/players/$PLAYER/FRIENDS/*/index.html"
|
2022-10-24 16:19:33 +02:00
|
|
|
echo "*********************************"
|
2022-10-12 23:29:14 +02:00
|
|
|
## Search in Local World (NB! G1Voeu TW copied by Connect_PLAYER_To_Gchange.sh)
|
2022-10-24 16:19:33 +02:00
|
|
|
FINDEX=($( ls $HOME/.zen/game/players/$PLAYER/FRIENDS/*/index.html))
|
2022-09-27 00:09:24 +02:00
|
|
|
|
2022-10-24 16:19:33 +02:00
|
|
|
for FRIENDTW in ${FINDEX[@]};
|
|
|
|
do
|
2022-10-27 20:36:25 +02:00
|
|
|
[[ ! -s $FRIENDTW ]] && echo "$FRIENDTW VIDE (AMI SANS TW)" && continue
|
2022-10-30 18:27:08 +01:00
|
|
|
PLAYER=$(ls $FRIENDTW | cut -d '/' -f 7)
|
2022-10-27 20:36:25 +02:00
|
|
|
|
2022-11-05 22:32:28 +01:00
|
|
|
rm -f ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/${PLAYER}.tiddlers.json
|
2022-10-28 02:51:36 +02:00
|
|
|
echo "TRY EXPORT [tag[G1${WISHNAME}]] FROM $FRIENDTW"
|
2022-10-24 16:19:33 +02:00
|
|
|
tiddlywiki --load $FRIENDTW \
|
2022-11-05 22:32:28 +01:00
|
|
|
--output ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME} --render '.' ${PLAYER}'.tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1'${WISHNAME}']]'
|
|
|
|
[[ ! -s ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/${PLAYER}.tiddlers.json ]] && echo "NO ${WISHNAME} - CONTINUE -" && continue
|
|
|
|
[[ $(cat ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/${PLAYER}.tiddlers.json) == "[]" ]] && echo "EMPTY ${WISHNAME} - CONTINUE -" && continue
|
2022-10-24 16:19:33 +02:00
|
|
|
|
|
|
|
echo "## WISHES FOUND ;) MIAM "
|
2022-10-29 21:57:53 +02:00
|
|
|
######################################
|
2022-10-24 16:19:33 +02:00
|
|
|
## TODO ADD EXTRA TAG ?
|
2022-10-29 21:57:53 +02:00
|
|
|
# Remove G1${WISHNAME} with WISHNAME Initial TIDDLER
|
|
|
|
# Reduce importation with extra filters days:created[-1]
|
|
|
|
# Apply Extra filters... TODO LEARN https://talk.tiddlywiki.org/t/how-to-filter-and-delete-multiple-tiddlers/4950/2?u=papiche
|
2022-11-05 22:32:28 +01:00
|
|
|
echo ">>> Importing ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/${PLAYER}.tiddlers.json"
|
2022-10-24 16:19:33 +02:00
|
|
|
|
|
|
|
tiddlywiki --load $INDEX \
|
2022-11-05 22:32:28 +01:00
|
|
|
--import "$HOME/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/${PLAYER}.tiddlers.json" "application/json" \
|
2022-11-01 14:55:13 +01:00
|
|
|
--output ~/.zen/tmp --render "$:/core/save/all" "${ASTRONAUTENS}.newindex.html" "text/plain"
|
2022-10-24 16:19:33 +02:00
|
|
|
|
2022-11-01 14:55:13 +01:00
|
|
|
if [[ -s ~/.zen/tmp/${ASTRONAUTENS}.newindex.html ]]; then
|
2022-10-24 16:19:33 +02:00
|
|
|
echo "Updating $INDEX"
|
2022-11-01 14:55:13 +01:00
|
|
|
cp ~/.zen/tmp/${ASTRONAUTENS}.newindex.html $INDEX
|
2022-10-24 16:19:33 +02:00
|
|
|
else
|
2022-11-01 14:55:13 +01:00
|
|
|
echo "Problem with tiddlywiki command. Missing ~/.zen/tmp/${ASTRONAUTENS}.newindex.html"
|
2022-10-24 16:19:33 +02:00
|
|
|
echo "XXXXXXXXXXXXXXXXXXXXXXX"
|
|
|
|
fi
|
2022-08-28 19:18:46 +02:00
|
|
|
|
2022-10-24 16:19:33 +02:00
|
|
|
done
|
2022-10-12 23:29:14 +02:00
|
|
|
|
2022-11-05 22:32:28 +01:00
|
|
|
done < ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1wishes.txt
|
2022-10-12 23:29:14 +02:00
|
|
|
|
2022-10-28 02:01:23 +02:00
|
|
|
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
|
|
|
|
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
|
|
|
|
|
2022-10-12 23:29:14 +02:00
|
|
|
############################################
|
2022-08-23 19:27:38 +02:00
|
|
|
|
|
|
|
exit 0
|