Astroport.ONE/tools/TW.cache.sh

66 lines
3.0 KiB
Bash
Raw Normal View History

2022-11-22 19:14:48 +01:00
#!/bin/bash
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
2022-11-22 19:14:48 +01:00
ASTRONAUTENS="$1"
MOATS="$2"
[[ ! $ASTRONAUTENS || ! $MOATS ]] && echo "$(ME) : ASTRONAUTENS & MOATS needed" && exit 1
2022-11-22 19:16:26 +01:00
2022-11-22 19:14:48 +01:00
start=$(date +%s)
IPFSNODEID=$(ipfs id -f='<id>\n') || ( echo "$(ME) : IPFSNODEID MISSING" && exit 1 )
2022-11-22 19:14:48 +01:00
TUBE=$(head -n 2 ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | tail -n 1 | cut -d ' ' -f 3)
## GETTING LAST TW via IPFS
echo "$(ME) : IPFS : ipfs --timeout 12s cat /ipns/${ASTRONAUTENS}"\
2022-11-22 19:14:48 +01:00
&& ipfs --timeout 12s cat /ipns/${ASTRONAUTENS} > ~/.zen/tmp/coucou/${MOATS}.astroindex.html
## GETTING LAST TW via HTTP
[[ ! -s ~/.zen/tmp/coucou/${MOATS}.astroindex.html ]] \
&& echo "$(ME) : WWW : $TUBE/ipns/${ASTRONAUTENS}" \
2022-12-02 19:38:05 +01:00
&& curl -m 12 -so ~/.zen/tmp/coucou/${MOATS}.astroindex.html "$TUBE/ipns/${ASTRONAUTENS}" \
2022-12-01 18:26:21 +01:00
|| curl -m 1 -so ~/.zen/tmp/${MOATS}.html "$TUBE/ipns/${ASTRONAUTENS}" ## Ask caching
2022-11-22 19:14:48 +01:00
### GOT TW !!
if [[ -s ~/.zen/tmp/coucou/${MOATS}.astroindex.html ]]; then
echo "$(ME) : GOT TW !!"
2022-11-22 19:14:48 +01:00
tiddlywiki --load ~/.zen/tmp/coucou/${MOATS}.astroindex.html --output ~/.zen/tmp --render '.' ${MOATS}'MadeInZion.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'MadeInZion'
[[ ! -s ~/.zen/tmp/${MOATS}MadeInZion.json ]] && echo "$(ME) : BAD TW (☓‿‿☓) Execution time was "`expr $(date +%s) - $start` seconds. && exit 1
2022-11-22 19:14:48 +01:00
PLAYER=$(cat ~/.zen/tmp/${MOATS}MadeInZion.json | jq -r .[].player)
## EMAIL STYLE
if [[ "${PLAYER}" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]; then
echo "$(ME) : VALID PLAYER (✜‿‿✜) $PLAYER "
2022-11-22 19:14:48 +01:00
tiddlywiki --load ~/.zen/tmp/coucou/${MOATS}.astroindex.html --output ~/.zen/tmp --render '.' ${MOATS}'Astroport.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'Astroport'
[[ ! -s ~/.zen/tmp/${MOATS}Astroport.json ]] && echo "$(ME) : BAD TW (☓‿‿☓) Execution time was "`expr $(date +%s) - $start` seconds. && exit 1
2022-11-22 19:14:48 +01:00
## EXPORT PLAYER VALUE TO CALLING SCRIPT
2022-12-01 18:26:21 +01:00
export PLAYER=$PLAYER
2022-11-22 19:14:48 +01:00
else
echo "$(ME) : BAD PLAYER"
echo "$(ME) : KO ${PLAYER} : (#__#) '" && exit 1
2022-11-22 19:14:48 +01:00
fi
## IN CACHE
echo "$(ME) : CACHING ~/.zen/tmp/$IPFSNODEID/$PLAYER/"
2022-11-22 19:14:48 +01:00
mkdir -p ~/.zen/tmp/$IPFSNODEID/$PLAYER/
cp -f ~/.zen/tmp/coucou/${MOATS}.astroindex.html ~/.zen/tmp/$IPFSNODEID/$PLAYER/index.html
### NO TW !!
else
echo "$(ME) : (-__-) NOTHING (-__-)"
2022-11-22 19:14:48 +01:00
fi
dur=`expr $(date +%s) - $start`
[[ $XDG_SESSION_TYPE == 'x11' ]] && espeak "$dur seconds for $(cat ~/.zen/tmp/${MOATS}Astroport.json | jq -r .[].pseudo) TW caching"
echo "$(ME) : (0‿‿0) Execution time was $dur seconds."
2022-11-22 19:14:48 +01:00
exit 0