G1Kodi WISH : share Kodi mp4 movies between friends: entering BETA period

This commit is contained in:
fred 2023-07-11 13:26:11 +02:00
parent 4e3119f576
commit 18878b602c
3 changed files with 77 additions and 53 deletions

View File

@ -57,8 +57,8 @@ tiddlywiki --load ${INDEX} \
--render '.' 'Kodi.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'Kodi'
[[ $(cat ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json ) == "[]" ]] \
&& echo "AUCUN VOEU G1KODI" \
&& echo "EXIT" && exit 0
&& echo "AUCUN VOEU G1KODI - EXIT -" \
&& exit 0
WISH=$(cat ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json | jq -r '.[].wish')
WISHNS=$(cat ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json | jq -r '.[].wishns')
@ -184,7 +184,7 @@ while read TITRE; do
else
echo "## TIDDLER WITHOUT ipfs_one"
echo "## TIDDLER WITH OR WITHOUT ipfs_one"
## MANAGING TIDDLER UPDATE
IPFSONE=$(cat ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json | jq -r .[].ipfs_one)
SOURCE=$(cat ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json | jq -r .[].source)
@ -225,20 +225,38 @@ while read TITRE; do
-k ~/.zen/game/players/${PLAYER}/secret.dunikey \
-i ~/.zen/tmp/${MOATS}/source.one.enc -o $HOME/.zen/tmp/${MOATS}/source.one
cat $HOME/.zen/tmp/${MOATS}/source.one
echo "IPFS SOURCE $(cat $HOME/.zen/tmp/${MOATS}/source.one)"
## TODO
## ADD FIELDS ipfs_AG1PUB for my FRIENDS
#~ cat ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json | jq --arg a "${AG1PUB}" --arg v "${ACODING}" '.[] |= .+ {"ipfs_$a":"$v"}'
## FIND FRIENDS and ADD FIELDS ipfs_AG1PUB
find ~/.zen/game/players/${PLAYER}/FRIENDS -mindepth 1 -maxdepth 1 -type d | rev | cut -f 1 -d '/' | rev > ~/.zen/tmp/${MOATS}/twfriends
cp -f ${HOME}/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json ~/.zen/tmp/${MOATS}/atiddler.json
while read AG1PUB; do
## CREATE "ipfs_AG1PUB" : "ACODING"
rm -f ~/.zen/tmp/${MOATS}/source.aenc
~/.zen/Astroport.ONE/tools/natools.py encrypt -p ${AG1PUB} -i ~/.zen/tmp/${MOATS}/source.one -o ~/.zen/tmp/${MOATS}/source.aenc
ACODING=$(cat ~/.zen/tmp/${MOATS}/source.aenc | base16)
cat ~/.zen/tmp/${MOATS}/atiddler.json | jq --arg a "${AG1PUB}" --arg v "${ACODING}" '.[] |= .+ {"ipfs_$a":"$v"}' \
> ~/.zen/tmp/${MOATS}/atiddler.json.tmp \
&& mv ~/.zen/tmp/${MOATS}/atiddler.json.tmp ~/.zen/tmp/${MOATS}/atiddler.json
done < ~/.zen/tmp/${MOATS}/twfriends
## INSERT NEW TIDDLER
tiddlywiki --load ${INDEX} \
--import ~/.zen/tmp/${MOATS}/atiddler.json "application/json" \
--output ~/.zen/tmp --render "$:/core/save/all" "newindex.html" "text/plain"
[[ -s ~/.zen/tmp/newindex.html ]] \
&& cp -f ~/.zen/tmp/newindex.html ~/.zen/tmp/${MOATS}/index.html
fi
YID=$(cat ~/.zen/tmp/${MOATS}/${PLAYER}.movie.json | jq --arg v "${TITRE}" -r '.[] | select(.titre==$v) | .extrait' | rev | cut -d '=' -f 1 | rev)
echo "MOVIE ALREADY IN TW"
echo "MOVIE IN TW ($YID)"
fi

View File

@ -11,6 +11,11 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
################################################################################
# Inspect game wishes, refresh latest IPNS version
# SubProcess Backup and chain
# ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/*
# ~/.zen/game/players/${PLAYER}/G1${WISHNAME}/${G1PUB}/*
# _PLAYER.json
PLAYER="$1" ## IPNS KEY NAME - G1PUB - PLAYER ...
[[ ! ${PLAYER} ]] && echo "Please provide PLAYER publish key" && exit 1
@ -80,16 +85,26 @@ do
##########################################################################
## RUN SPECIFIC G1Voeu ASTROBOT PROGRAM (like G1CopierYoutube.sh)
if [[ -s $MY_PATH/G1${WISHNAME}.sh ]]; then
echo "........................ Astrobot G1${WISHNAME}.sh program found !"
echo "........................ Astrobot G1${WISHNAME}.sh PROGRAM FOUND !"
echo "________________________________ Running it *****"
${MY_PATH}/G1${WISHNAME}.sh "$INDEX" "${PLAYER}" "$MOATS"
echo "________________________________ Finished ******"
else
echo "......................... G1${WISHNAME} REGULAR Ŋ1 RSS JSON"
echo "......................... NO G1${WISHNAME} PROGRAM... "
fi
##########################################################################
##########################################################################
###########################################################################################
##################################
## MAKE MY OWN EXTRACTION : [tag[G1'${WISHNAME}']!tag[G1Voeu]!sort[modified]limit[30]]
################################## MOA MAINTENANT
echo "> EXPORT [tag[G1${WISHNAME}]!tag[G1Voeu]] § $myIPFSGW${IPNS_VOEUNS}/_${PLAYER}.tiddlers.json"
tiddlywiki --load $INDEX \
--output ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME} \
--render '.' _${PLAYER}'.tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1'${WISHNAME}']!tag[G1Voeu]!sort[modified]limit[30]]'
## RUN TW Ŋ1 search & copy treatment
echo "*********************************"
##################################
@ -112,19 +127,20 @@ do
for FRIENDTW in ${FINDEX[@]};
do
[[ ! -s $FRIENDTW ]] && echo "$floop / ${#FINDEX[@]} $FRIENDTW VIDE (AMI SANS TW)" && echo && ((floop++)) && continue
[[ ! -s ${FRIENDTW} ]] && echo "$floop / ${#FINDEX[@]} ${FRIENDTW} VIDE (AMI SANS TW)" && echo && ((floop++)) && continue
## GET FRIEND EMAIL = APLAYER
tiddlywiki --load $FRIENDTW \
## GET FRIEND EMAIL = APLAYER (VERIFY TW IS OK)
tiddlywiki --load ${FRIENDTW} \
--output ~/.zen/tmp/${MOATS} \
--render '.' 'MadeInZion.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'MadeInZion'
[[ ! -s ~/.zen/tmp/${MOATS}/MadeInZion.json ]] && echo "${PLAYER} MadeInZion : BAD TW (☓‿‿☓) " && continue
APLAYER=$(cat ~/.zen/tmp/${MOATS}/MadeInZion.json | jq -r .[].player)
## EXPORT LAST 30 DAYS G1WishName in _${APLAYER}.tiddlers.json
rm -f ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/_${APLAYER}.tiddlers.json
echo "$floop / ${#FINDEX[@]} TRY EXPORT [tag[G1${WISHNAME}]] FROM $APLAYER TW"
tiddlywiki --load $FRIENDTW \
tiddlywiki --load ${FRIENDTW} \
--output ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME} \
--render '.' _${APLAYER}'.tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1'${WISHNAME}']!tag[G1Voeu]!sort[modified]limit[30]]'
@ -138,16 +154,19 @@ do
echo "## TIDDLERS FOUND ;) MIAM >>> (◕‿‿◕) <<<"
echo ">>> G1FRIEND § $myIPFS${IPNS_VOEUNS}/_${APLAYER}.tiddlers.json ${WISHNAME}"
# Extract Origin G1Voeu Tiddler
tiddlywiki --load ${FRIENDTW} --output ~/.zen/tmp --render '.' "${APLAYER}.${WISHNAME}.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' "${WISHNAME}"
WISHNS=$(cat ~/.zen/tmp/${APLAYER}.${WISHNAME}.json | jq -r '.[].wishns')
[[ $WISHNS == "null" ]] && echo "NO WISHNS in ~/.zen/tmp/${APLAYER}.${WISHNAME}.json" && echo && ((floop++)) && continue
echo ">>> ${myIPFS}${WISHNS}"
FWISHNS=$(cat ~/.zen/tmp/${APLAYER}.${WISHNAME}.json | jq -r '.[].wishns')
[[ $FWISHNS == "null" ]] && echo "NO FWISHNS in ~/.zen/tmp/${APLAYER}.${WISHNAME}.json" && echo && ((floop++)) && continue
echo ">>> ${myIPFS}${FWISHNS}"
###########################################################################################
## ADD WISH ON THE WORLD MAP (TODO: EXTRACT REAL GPS)
echo "${floop}: {
alpha: Math.random() * 2 * Math.PI,
delta: Math.random() * 2 * Math.PI,
name: '"${WISNAME} ${APLAYER}"',
link: '"${myIPFS}${WISHNS}"'
link: '"${myIPFS}${FWISHNS}"'
}
," >> ~/.zen/tmp/world.js
@ -168,31 +187,15 @@ do
};
" >> ~/.zen/tmp/world.js
cat ~/.zen/tmp/world.js
IAMAP=$(ipfs add -qw ~/.zen/tmp/world.js | tail -n 1)
echo "CREATING /ipfs/${IAMAP}/world.js"
echo "JSON WISH WORLD READY /ipfs/${IAMAP}/world.js"
##################################
## MAKE MY OWN JSON
################################## MOA MAINTENANT
echo "> EXPORT [tag[G1${WISHNAME}]!tag[G1Voeu]] § $myIPFSGW${IPNS_VOEUNS}/_${PLAYER}.tiddlers.json"
tiddlywiki --load $INDEX \
--output ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME} \
--render '.' _${PLAYER}'.tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1'${WISHNAME}']!tag[G1Voeu]!sort[modified]limit[30]]'
##################################
## MAKE EARTH MAP TILES
echo
# echo "DEBUG : s~_LIBRA_~$(myIpfsGw)~g s~_G1VOEU_~${WISHNAME}~g s~_PLAYER_~${PLAYER}~g s~_VOEUNS_~${IPNS_VOEUNS}~g s~_ASTRONAUTENS_~${ASTRONAUTENS}~g"
echo
##################################
## INSERT PLAYER G1 QRCODE : QRG1avatar.png
## PREPARE PLAYER G1 QRCODE : QRG1avatar.png
[[ -s ~/.zen/game/players/${PLAYER}/voeux/${WISHNAME}/${VOEUKEY}/voeu.png ]] \
&& QRLINK=$(ipfs add -q ~/.zen/game/players/${PLAYER}/voeux/${WISHNAME}/${VOEUKEY}/voeu.png | tail -n 1)
[[ $QRLINK == "" ]] && QRLINK=$(ipfs add -q ~/.zen/game/players/${PLAYER}/QRG1avatar.png | tail -n 1)
### APPLY FOR ${WISHNAME} MODEL : make index.html
### APPLY FOR ${WISHNAME} APP MODEL : make index.html
################################## ${WISHNAME}/index.html
if [[ -s ${MY_PATH}/../www/${WISHNAME}/index.html ]]; then
@ -212,12 +215,14 @@ do
> ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/index.html
fi
### PREPARE WISHNAME index.html
### PREPARE WISHNAME index.html - CREATE YOUR OWN DAPP -
##################################
## RUN N1Program ASTROBOT PROGRAM (like G1CopierYoutube.sh)
###########################################################################################
## DATA POST TREATMENT PROGRAM
## RUN N1Program ASTROBOT PROGRAM
if [[ -s $MY_PATH/N1${WISHNAME}.sh ]]; then
echo "........................ Astrobot N1${WISHNAME}.sh program found !"
echo "........................ Astrobot N1${WISHNAME}.sh post-treatment found !"
echo "________________________________ Running it *****"
${MY_PATH}/N1${WISHNAME}.sh "$INDEX" "${PLAYER}" "$MOATS"
echo "________________________________ Finished ******"
@ -225,19 +230,22 @@ do
echo "......................... N1${WISHNAME} REGULAR Ŋ1 RSS JSON"
fi
### ADD TO IPFS
###########################################################################################
### ADD ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/*
### AND PUBLISH WISH TO IPFS
echo "++WISH PUBLISHING++ ipfs add -qHwr ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/*"
ls ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/
WISHFLUX=$(ipfs add -qHwr ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/* | tail -n 1) # ADDING JSONS TO IPFS
ipfs name publish -k $VOEUKEY /ipfs/$WISHFLUX # PUBLISH $VOEUKEY
echo "## ASK ${myIPFSGW}${IPNS_VOEUNS} TO REFRESH"
echo "## ASK ${myIPFSGW}${IPNS_VOEUNS} TO REFRESH" ## TODO LOOP BOOTSTRAP & ONLINE FRIENDS
curl -m 120 -so ~/.zen/tmp/${WISHNAME}.astroindex.html "${myIPFSGW}${IPNS_VOEUNS}" &
## MOVE INTO PLAYER AREA
echo ">>> ${PLAYER} G1${WISHNAME} Ŋ1 FLUX $(myIpfsGw)/${IPNS_VOEUNS}"
echo "WALLET ${VOEUKEY} FOUNDED by ${G1PUB}"
cp -f ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/* ~/.zen/game/players/${PLAYER}/G1${WISHNAME}/${G1PUB}/ 2>/dev/null
#~ echo "************************************************************"
#~ echo "Hop, 0.1 JUNE pour le Voeu $WISHNAME"
@ -249,15 +257,12 @@ do
#~ [[ ! $? == 0 ]] \
#~ && echo "POOOOOOOOOOOOOOOOOOOORRRRRR GUY. YOU CANNOT PAY A G1 FOR YOUR WISH"
cp -f ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/* ~/.zen/game/players/${PLAYER}/G1${WISHNAME}/${G1PUB}/ 2>/dev/null
done < ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1wishes.txt
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
echo "TODO : REFRESH WORLD SAME WISH"
echo "TODO : REFRESH WORLD SAME WISH CACHE"
cat ~/.zen/game/world/$WISHNAME/*/.link 2>/dev/null
## ANYTIME A PLAYER CHOOSE AN ASTROPORT - LOCAL WISH CACHE IS EXTENDED -
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
############################################

View File

@ -245,15 +245,12 @@ do
&& curl -m 120 -so ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}/index.html "$LIBRA/ipns/${FRIENDNS}"
## PLAYER TW EXISTING ?
if [ ! -s ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}/index.html || $(cat ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}/index.html | grep 504) ]; then
if [ ! -s ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}/index.html ]; then
## AUCUN VISA ASTRONAUTE ENVOYER UN MESSAGE PAR GCHANGE
echo "AUCUN TW ACTIF. PREVENONS LE"
$MY_PATH/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey send -d "${liking_me}" -t "HEY BRO !" -m "G1 ♥BOX : https://ipfs.copylaradio.com/ipns/$ASTRONAUTENS"
# Remove cache
rm -Rf ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}
## +1 TRY
try=$((try+1)) && echo $try > ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}.try
@ -267,7 +264,11 @@ do
tiddlywiki --load ${FTW} --output ~/.zen/tmp --render '.' "${liking_me}.MadeInZion.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'MadeInZion'
[[ ! -s ~/.zen/tmp/${liking_me}.MadeInZion.json ]] && echo "~~~ BROKEN $FTW (☓‿‿☓) BAD ~/.zen/tmp/${liking_me}.MadeInZion.json ~~~" && continue
FPLAYER=$(cat ~/.zen/tmp/${liking_me}.MadeInZion.json | jq -r .[].player)
[[ ! $FPLAYER ]] && echo "NO PLAYER = BAD MadeInZion Tiddler" && continue
[[ ! $FPLAYER ]] \
&& echo "NO PLAYER = BAD MadeInZion Tiddler" \
&& rm -Rf ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me} \
&& continue
## CREATING 30 DAYS RSS STREAM
tiddlywiki --load ${FTW} \