G1Kodi TW double publish resolve

This commit is contained in:
fred 2023-07-23 22:21:05 +02:00
parent e7bb21149a
commit 663f7a26d2
3 changed files with 219 additions and 128 deletions

View File

@ -54,7 +54,7 @@ echo "EXPORT Kodi Wish for ${PLAYER}"
rm -f ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json
tiddlywiki --load ${INDEX} \
--output ~/.zen/game/players/${PLAYER}/G1Kodi \
--render '.' 'Kodi.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'Kodi'
--render '.' 'Kodi.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1Voeu]tag[G1Kodi]]'
[[ $(cat ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json ) == "[]" ]] \
&& echo "AUCUN VOEU G1KODI - EXIT -" \
@ -74,14 +74,14 @@ tiddlywiki --load ${INDEX} \
[[ $(cat ~/.zen/game/players/${PLAYER}/G1Kodi/TWmovies.json) == "[]" ]] && echo "AUCUN FILM G1KODI"
## TW G1Kodi deletetiddlers CODE
#~ ## TW G1Kodi deletetiddlers CODE
#~ tiddlywiki --load ${INDEX} \
#~ --deletetiddlers '[tag[G1Kodi]]' \
#~ --deletetiddlers '[tag[G1Kodi]!Kodi]' \
#~ --output ~/.zen/tmp/${MOATS} --render "$:/core/save/all" "cleanindex.html" "text/plain"
#~ [[ -s ~/.zen/tmp/${MOATS}/cleanindex.html ]] && cp -f ~/.zen/tmp/${MOATS}/cleanindex.html ~/.zen/tmp/${MOATS}/index.html
echo "=========== ( ◕‿◕) (◕‿◕ ) =============="
echo "=========== ( ◕‿◕) EXTRACT KODI MyVideos DB (◕‿◕ ) =============="
## EXTRACT MOVIE FILES LIST TO CSV
echo "\"titre\",\"desc\",\"sub\",\"source\",\"cat\",\"extrait\",\"prem\"" > ~/.zen/tmp/${MOATS}/${PLAYER}.movie.csv
@ -126,7 +126,7 @@ while read TITRE; do
#~ </item>
if [[ ! -s ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json ]]; then
## CHECK IN TW
echo "CHECKING Kodi_${TITLE} IN TW"
tiddlywiki --load ${ORIGININDEX} \
--output ~/.zen/game/players/${PLAYER}/G1Kodi \
--render '.' "${TITLE}.dragdrop.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' "'"Kodi_${TITLE}"'"
@ -147,16 +147,15 @@ while read TITRE; do
#~ Then update THASH with THASHSEC next
## CREATE june:// QRCODE put it in IPFS
PAYCOM="june://${G1PUB}?comment=N1Kodi:${THASH}&"
echo"${PAYCOM}"
amzqr "${PAYCOM}" -l H -c -p ${MY_PATH}/../images/TV.png -n VOD.png -d ~/.zen/tmp/${MOATS}/
echo "${PAYCOM}"
amzqr "${PAYCOM}" -l H -c -p ${MY_PATH}/../images/TV.png -n VOD_${TITLE}.png -d ~/.zen/tmp/${MOATS}/
convert -gravity northwest -pointsize 20 -fill black -draw "text 30,3 \"${TITRE} (${YEAR})\"" ~/.zen/tmp/${MOATS}/VOD_${TITLE}.png ~/.zen/tmp/${MOATS}/VOD.png
PV=$(ipfs add -q ~/.zen/tmp/${MOATS}/VOD.png)
echo "VOD QR = /ipfs/${PV}"
echo "VOD QR = ${myIPFS}/ipfs/${PV}"
## ADD TO IPFS
echo "ADD ${SOURCE} TO IPFS"
## BOUCLE BREAK - choose how many movies are added per day ? - G1STATION PARAM -
[[ ${boucle} == 1 ]] && echo "IPFS ADD ${boucle} TODAY - BREAK -" && break
IPFSMOVIE=$(ipfs add -q "$SOURCE")
echo "/ipfs/${IPFSMOVIE}" > ~/.zen/tmp/${MOATS}/source
@ -164,22 +163,21 @@ while read TITRE; do
ENCODING=$(cat ~/.zen/tmp/${MOATS}/source.enc | base16)
echo "MOVIE ADDED /ipfs/${IPFSMOVIE} :NATOOLS16: ${ENCODING}"
boucle=$((boucle+1)) ## COUNT HOW MANY MOVIES GOING TO IPFS
# CREATE TEXT AREA
TEXT="<h1>{{!!titre}} ({{!!year}})</h1><h2>{{!!sub}}</h2>
{{!!desc}}<br>
<a target='youtube' href='https://youtu.be/"${YID}"'>Bande Annonce</a>
<h3>Envoyez un don. Recevez le lien vers ce film dans votre messagerie Cesium+</h3>
<img width='300' src='/ipfs/"${PV}"'>"
## MAKING TIDDLER
echo "## Creation json tiddler ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json"
echo '[
{
"text": "{{!!titre}}
{{!!sub}}
<h3>Envoyez un don. Recevez le lien vers ce film dans la messagerie Cesium+</h3>
<img src=/Ipfs/${PV}><br>
{{!!desc}}
<br><a href=https://youtu.be/${YID}>Bande Annonce</a>
",
"title": "'Kodi_${TITLE}'",
"thash": "'${THASH}'",
"created": "'${MOATS}'",
"title": "'Kodi_${TITLE}'",
"text": "'${TEXT}'",
"thash": "'${THASH}'",
"year": "'${YEAR}'",
"mime": "'${MIME}'",
"prem": "'${PREM}'",
@ -189,6 +187,7 @@ while read TITRE; do
"cat": "'${CAT}'",
"g1pub": "'${G1PUB}'",
"source": "'${SOURCE}'",
"ipfs_one": "''",
"titre": "'${TITRE}'",
"modified": "'${MOATS}'",
"issuer": "'${PLAYER}'",
@ -197,14 +196,22 @@ while read TITRE; do
]
' > ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json
## ADD ipfs_one to JSON file
cat ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json | jq --arg v "${ENCODING}" '.[].ipfs_one = $v' \
## ADD ipfs_one to JSON file (Just to show jq in action)
cat ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json | jq --arg v "${ENCODING}" '.[].ipfs_one = $v' \
> ~/.zen/game/players/${PLAYER}/G1Kodi/ipfs_one.json
[[ -s ~/.zen/game/players/${PLAYER}/G1Kodi/ipfs_one.json ]] \
&& cp -f ~/.zen/game/players/${PLAYER}/G1Kodi/ipfs_one.json ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json \
&& rm ~/.zen/game/players/${PLAYER}/G1Kodi/ipfs_one.json
## TO ALLOW DECODING FOR MY FRIENDS
## jq FORMULA TO ADD ipfs_FG1PUB = ACODING
#~ cat ~/.zen/tmp/${MOATS}/atiddler.json | jq '.[] |= .+ {"_IPUB_":"_ICOD_"}' \
#~ > ~/.zen/tmp/${MOATS}/atiddler.json.tmp \
#~ && sed -i "s~_IPUB_~ipfs_${AG1PUB}~g" ~/.zen/tmp/${MOATS}/atiddler.json.tmp \
#~ && sed -i "s~_ICOD_~${ACODING}~g" ~/.zen/tmp/${MOATS}/atiddler.json.tmp \
#~ && mv ~/.zen/tmp/${MOATS}/atiddler.json.tmp ~/.zen/tmp/${MOATS}/atiddler.json
echo "ipfs_one : ${ENCODING}"
## ADD TO TW
@ -222,6 +229,8 @@ while read TITRE; do
INDEX="$HOME/.zen/tmp/${MOATS}/index.html"
echo "NEWINDEX : ${INDEX}"
boucle=$((boucle+1)) ## COUNT HOW MANY MOVIES GOING TO IPFS
else
echo "CANNOT UPDATE TW - FATAL ERROR -"
@ -234,67 +243,76 @@ while read TITRE; do
else
echo "MOVIE NO COMPATIBLE. MUST BE CONVERTED TO MP4"
echo "${TITLE} MIME TYPE NOT COMPATIBLE.
MUST BE CONVERTED TO MP4"
fi
else
echo "${SOURCE} "
echo "ALREADY IN TW : Kodi_${TITLE}
https://youtu.be/${YID}"
fi
## BOUCLE BREAK - choose how many movies are added per day ? - G1STATION PARAM -
[[ ${boucle} == 1 ]] && echo "IPFS ADD ${boucle} TODAY - BREAK -" && break
done < ~/.zen/tmp/${MOATS}/${PLAYER}.movie.id
## VERIFY, COULD BE DONE IN PLAYER REFRESH
if [[ $(diff ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html ${INDEX}) ]]; then
################################################
## GET TW CHAIN
tiddlywiki --load ${INDEX} \
--output ~/.zen/tmp/${MOATS} \
--render '.' 'Astroport.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'Astroport'
ASTROPORT=$(cat ~/.zen/tmp/${MOATS}/Astroport.json | jq -r .[].astroport)
[[ $ASTROPORT == "" ]] && echo "INCOMPATIBLE TW - ADD Astroport TIDDLER - CORRECTION NEEDED -" && exit 1
cp ${INDEX} ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/index.html
## PLAYER.refresh will detect change & publish
CURCHAIN=$(cat ~/.zen/tmp/${MOATS}/Astroport.json | jq -r .[].chain | rev | cut -f 1 -d '/' | rev) # Remove "/ipfs/" part
[[ $CURCHAIN == "" || $CURCHAIN == "null" ]] && echo "FATAL ERROR TW CHAIN IS BROKEN : CHECK ${INDEX} - EXIT -" && exit 1
## CHAINING
echo "CURCHAIN=$CURCHAIN"
[[ -s ~/.zen/game/players/$PLAYER/ipfs/moa/.chain ]] \
&& ZCHAIN=$(cat ~/.zen/game/players/$PLAYER/ipfs/moa/.chain) \
&& echo "# CHAIN : $CURCHAIN -> $ZCHAIN" \
&& sed -i "s~$CURCHAIN~$ZCHAIN~g" ${INDEX}
#~ ################################################
#~ ## GET TW CHAIN
#~ tiddlywiki --load ${INDEX} \
#~ --output ~/.zen/tmp/${MOATS} \
#~ --render '.' 'Astroport.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'Astroport'
#~ ASTROPORT=$(cat ~/.zen/tmp/${MOATS}/Astroport.json | jq -r .[].astroport)
#~ [[ $ASTROPORT == "" ]] && echo "INCOMPATIBLE TW - ADD Astroport TIDDLER - CORRECTION NEEDED -" && exit 1
################################################
## UPDATE PLAYER TW
espeak "I P N S Publishing. Please wait..."
cp ${INDEX} ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html
#~ CURCHAIN=$(cat ~/.zen/tmp/${MOATS}/Astroport.json | jq -r .[].chain | rev | cut -f 1 -d '/' | rev) # Remove "/ipfs/" part
#~ [[ $CURCHAIN == "" || $CURCHAIN == "null" ]] && echo "FATAL ERROR TW CHAIN IS BROKEN : CHECK ${INDEX} - EXIT -" && exit 1
#~ ## CHAINING
#~ echo "CURCHAIN=$CURCHAIN"
#~ [[ -s ~/.zen/game/players/$PLAYER/ipfs/moa/.chain ]] \
#~ && ZCHAIN=$(cat ~/.zen/game/players/$PLAYER/ipfs/moa/.chain) \
#~ && echo "# CHAIN : $CURCHAIN -> $ZCHAIN" \
#~ && sed -i "s~$CURCHAIN~$ZCHAIN~g" ${INDEX}
cp ~/.zen/game/players/${PLAYER}/ipfs/moa/.chain \
~/.zen/game/players/${PLAYER}/ipfs/moa/.chain.$(cat ~/.zen/game/players/${PLAYER}/ipfs/moa/.moats)
#~ ################################################
#~ ## UPDATE PLAYER TW
#~ espeak "I P N S Publishing. Please wait..."
#~ cp ${INDEX} ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html
TW=$(ipfs add -Hq ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html | tail -n 1)
ipfs name publish --key=${PLAYER} /ipfs/$TW
#~ cp ~/.zen/game/players/${PLAYER}/ipfs/moa/.chain \
#~ ~/.zen/game/players/${PLAYER}/ipfs/moa/.chain.$(cat ~/.zen/game/players/${PLAYER}/ipfs/moa/.moats)
## UPDATE LAST KNOWN FOR NEXT CHAIN
echo $TW > ~/.zen/game/players/${PLAYER}/ipfs/moa/.chain
echo ${MOATS} > ~/.zen/game/players/${PLAYER}/ipfs/moa/.moats
#~ TW=$(ipfs add -Hq ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html | tail -n 1)
#~ ipfs name publish --key=${PLAYER} /ipfs/$TW
echo "================================================"
echo "${PLAYER} : $myIPFS/ipns/$ASTRONAUTENS"
echo "================================================"
echo
#~ ## UPDATE LAST KNOWN FOR NEXT CHAIN
#~ echo $TW > ~/.zen/game/players/${PLAYER}/ipfs/moa/.chain
#~ echo ${MOATS} > ~/.zen/game/players/${PLAYER}/ipfs/moa/.moats
else
#~ echo "================================================"
#~ echo "${PLAYER} : $myIPFS/ipns/$ASTRONAUTENS"
#~ echo "================================================"
#~ echo
#~ espeak "DONE "
echo "UNCHANGED TW"
#~ else
echo "CHANGED TW"
fi
echo "=========== ( ◕‿◕) (◕‿◕ ) =============="
rm -Rf $HOME/.zen/tmp/${MOATS}
#~ rm -Rf $HOME/.zen/tmp/${MOATS}
exit 0

View File

@ -20,11 +20,6 @@ echo "$ME RUNNING"
########################################################################
# PALPAY SERVICE
########################################################################
# CHECK TODAY INCOMING PAYMENT
# IF COMMENT CONTAINS EMAIL ADDRESSES
# THEN AND SEND PAIMENT TO NEXT (REMOVING IT FROM LIST)
########################################################################
# this could lead in several account creation sharing % of incomes each time
########################################################################
INDEX="$1"
[[ ! ${INDEX} ]] && INDEX="$HOME/.zen/game/players/.current/ipfs/moa/index.html"
@ -53,6 +48,7 @@ mkdir -p $HOME/.zen/game/players/${PLAYER}/G1PalPay/
mkdir -p $HOME/.zen/tmp/${MOATS}
echo "=========== ( ◕‿◕) (◕‿◕ ) =============="
# CHECK TODAY INCOMING PAYMENT
~/.zen/Astroport.ONE/tools/timeout.sh -t 12 \
${MY_PATH}/../tools/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey history -n 10 -j > $HOME/.zen/game/players/${PLAYER}/G1PalPay/$PLAYER.history.json
@ -60,7 +56,43 @@ ${MY_PATH}/../tools/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dun
&& echo "NO PAYMENT HISTORY" \
&& exit 1
########################################################################################
############# CHECK FOR N1COMMANDs IN PAYMENT COMMENT
#################################################################
cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/$PLAYER.history.json | jq -rc .[] | grep 'N1' > ~/.zen/tmp/${MOATS}/myN1.json
while read NLINE; do
IDATE=$(echo ${NLINE} | jq -r .date)
IPUBKEY=$(echo ${NLINE} | jq -r .pubkey)
[[ $(cat ~/.zen/game/players/${PLAYER}/.idate) -ge $IDATE ]] && echo "N1COMMAND $IDATE from $IPUBKEY ALREADY TREATED - continue" && continue
COMMENT=$(echo ${NLINE} | jq -r .comment)
CMD=$(echo ${COMMENT} | cut -d ':' -f 1)
TH=$(echo ${COMMENT} | cut -d ':' -f 2)
if [[ -s ${MY_PATH}/${CMD}.sh ]]; then
echo "RECEIVED CMD=${CMD} from ${IPUBKEY}"
${MY_PATH}/${CMD}.sh ${INDEX} ${PLAYER} ${MOATS} ${IPUBKEY} ${TH}
else
echo "NOT A N1 COMMAND ${COMMENT}"
fi
done < ~/.zen/tmp/${MOATS}/myN1.json
########################################################################################
############# CHECK FOR EMAILs IN PAYMENT COMMENT
## DEBUG ## cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/$PLAYER.history.json | jq -r
#################################################################
# IF COMMENT CONTAINS EMAIL ADDRESSES
# THEN AND SEND PAIMENT TO NEXT (REMOVING IT FROM LIST)
########################################################################
# this could lead in several account creation sharing % of incomes each time
cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/$PLAYER.history.json | jq -rc .[] | grep '@' > ~/.zen/tmp/${MOATS}/myPalPay.json
## GET @ in JSON INLINE
@ -96,7 +128,7 @@ while read LINE; do
ASTROTW="" STAMP="" ASTROG1="" ASTROIPFS="" ASTROFEED=""
$($MY_PATH/../tools/search_for_this_email_in_players.sh ${EMAIL}) ## export ASTROTW and more
echo "export ASTROTW=${ASTRONAUTENS} ASTROG1=${ASTROG1} ASTROMAIL=${EMAIL} ASTROFEED=${FEEDNS}"
echo "export ASTROTW=${ASTRONAUTENS} ASTROG1=${ASTROG1} ASTROMAIL=${EMAIL} ASTROFEED=${FEEDNS}"
if [[ ! ${ASTROTW} ]]; then
@ -139,15 +171,11 @@ done < ~/.zen/tmp/${MOATS}/myPalPay.json
echo "=========== %%%%% (°▃▃°) %%%%%%% =============="
#################################################################
#################################################################
### NEXT #####
### TIDDLERS with EMAIL in TAGS treatment
#################################################################
########################################################################################
## SEARCH FOR TODAY MODIFIED TIDDLERS WITH MULTIPLE EMAILS IN TAG
#################################################################
echo "# EXTRACT TODAY TIDDLERS"
tiddlywiki --load $INDEX \
tiddlywiki --load ${INDEX} \
--output ~/.zen/game/players/${PLAYER}/G1CopierYoutube/${G1PUB}/ \
--render '.' "today.${PLAYER}.tiddlers.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[days:created[-1]]'

View File

@ -14,22 +14,23 @@ ME="${0##*/}"
. "${MY_PATH}/../tools/my.sh"
echo "$ME RUNNING"
########################################################################
## LOOK IN TW INDEX for THASH
## DECODE ipfs_one
## SEND MESSAGE TO SOURCEG1PUB
########################################################################
echo "NO READY YET"
exit 0
########################################################################
N1PATH="$1"
[[ ! -s ${N1PATH} ]] && echo "ERROR - Please provide path to source N1PATH" && exit 1
[[ ! -s ${N1PATH} ]] && echo "ERROR - Fichier TW absent. ${N1PATH}" && exit 1
INDEX="$1"
[[ ! ${INDEX} ]] && INDEX="$HOME/.zen/game/players/.current/ipfs/moa/index.html"
[[ ! -s ${INDEX} ]] && echo "ERROR - Please provide path to source TW index.html" && exit 1
[[ ! -s ${INDEX} ]] && echo "ERROR - Fichier TW absent. ${INDEX}" && exit 1
PLAYER="$2"
[[ ! ${PLAYER} ]] && PLAYER="$(cat ~/.zen/game/players/.current/.player 2>/dev/null)"
[[ ! ${PLAYER} ]] && echo "ERROR - Please provide PLAYER" && exit 1
[[ ! -s ${N1PATH}/_${PLAYER}.tiddlers.json ]] \
&& echo "MISSING ${N1PATH}/_${PLAYER}.tiddlers.json - EXIT -" \
&& exit 1
ASTRONAUTENS=$(ipfs key list -l | grep -w ${PLAYER} | cut -d ' ' -f1)
[[ ! ${ASTRONAUTENS} ]] && echo "ERROR - Clef IPNS ${PLAYER} introuvable!" && exit 1
@ -40,75 +41,119 @@ G1PUB=$(cat ~/.zen/game/players/${PLAYER}/.g1pub)
MOATS="$3"
[[ ! ${MOATS} ]] && MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
echo "${PLAYER} ${N1PATH} ${ASTRONAUTENS} ${G1PUB} "
IPUBKEY="$4"
[[ ! ${IPUBKEY} ]] && echo "ERROR - MISSING COMMAND ISSUER !" && exit 1
TH="$5"
[[ ! ${TH} ]] && echo "ERROR - MISSING COMMAND TITLE HASH ADDRESS !" && exit 1
echo "${PLAYER} : ${IPUBKEY} SEEKING FOR ${TH}
${ASTRONAUTENS} ${G1PUB} "
#~ ###################################################################
#~ ## CREATE APP NODE PLAYER PUBLICATION DIRECTORY
#~ ###################################################################
mkdir -p $HOME/.zen/tmp/${MOATS} && echo $HOME/.zen/tmp/${MOATS}
echo '<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>RSS ASTROPORT</title>
<description>Astroport Kodi RSS feed</description>
<link>https://www.copylaradio.com</link>
<copyright>2020 Astroport.com FOSS</copyright>
<lastBuildDate>Mon, 6 Sep 2020 00:01:00 +0000</lastBuildDate>
<pubDate>Sun, 6 Sep 2020 16:20:00 +0000</pubDate>
<ttl>1800</ttl>
' > ~/.zen/tmp/${MOATS}/movie.rss
## EXTRACT TIDDLER
tiddlywiki --load ${INDEX} \
--output ~/.zen/.zen/tmp/${MOATS} \
--render '.' 'TH.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[thash['${TH}']]'
find ~/.zen/game/players/${PLAYER}/FRIENDS -mindepth 1 -maxdepth 1 -type d | rev | cut -f 1 -d '/' | rev > ~/.zen/tmp/${MOATS}/twfriends
if [[ $(cat ~/.zen/.zen/tmp/${MOATS}/TH.json) != "[]" ]]; then
# FOUND GETTING CYPHERED IPFS LINK
TITLE=$(cat ~/.zen/.zen/tmp/${MOATS}/TH.json | jq -r '.[].title')
## SCAN ALL "_APLAYER.tiddlers.json"
for FILE in $(ls ${N1PATH}/*.tiddlers.json); do
APLAYER=$(echo "$FILE" | rev | cut -d '.' -f 3- | cut -d '_' -f 1 | rev )
[[ ${APLAYER} == ${PLAYER} ]] && echo "My Movie List" && continue
## EXTRACT all titles to do JQ LOOP
cat ${FILE} | jq -r .[].title > ~/.zen/tmp/${MOATS}/${APLAYER}.movie.id
while read TITLE; do
## GET AG1PUB FROM FRIEND TW
## BUG !!!
TITRE=$(cat ${FILE} | jq -r .[].titre)
SUB=$(cat ${FILE} | jq -r .[].sub)
IPFSONE=$(cat ${FILE} | jq -r .[].ipfs_one)
IPFSONE=$(cat ~/.zen/.zen/tmp/${MOATS}/TH.json | jq -r '.[].ipfs_one')
echo "${IPFSONE}" | base16 -d > ~/.zen/tmp/${MOATS}/source.one.enc
## DECRYPTING ipfs_one
~/.zen/Astroport.ONE/tools/natools.py decrypt -f pubsec \
-k ~/.zen/game/players/${PLAYER}/secret.dunikey \
-i ~/.zen/tmp/${MOATS}/source.one.enc -o $HOME/.zen/tmp/${MOATS}/source.one
SOURCE=$(cat ${FILE} | jq -r .[].source)
IPFS_ME=$(cat ${FILE} | jq -r .[].ipfs_${player})
DECIPFS=$(cat $HOME/.zen/tmp/${MOATS}/source.one)
cat "${TITLE} = ${DECIPFS}"
echo '
<item>
<title>'${TITRE}'</title>
<description>'${SUB}'</description>
<link>http://ipfs.localhost:8080/ipfs/QmQwYpoHX6Fw26nd3KFfLj71Uv34riT4F5X2RFy2rmHekW</link>
<pubDate>Sun, 6 Sep 2022 16:20:00 +0000</pubDate>
</item>' >> ~/.zen/tmp/${MOATS}/movie.rss
## TODO CREATE A TEMP IPNS KEY ?!
done < ~/.zen/tmp/${MOATS}/${APLAYER}.movie.id
## SENDING GCHANGE & CESIUM+ MESSAGE
$MY_PATH/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey -n ${myDATA} send -d "${IPUBKEY}" -t "${TITLE}" -m "N1Kodi : ${myTUBE}${DECIPFS}"
$MY_PATH/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey -n ${myCESIUM} send -d "${IPUBKEY}" -t "${TITLE}" -m "N1Kodi : ${myTUBE}${DECIPFS}"
done
else
## EXTRACT and DECODE ipfs_AG1PUB from FRIENDS json's
echo '
</channel>
</rss>
' >> ~/.zen/tmp/${MOATS}/movie.rss
## UPDATE LOCAL KODI WITH
## ./userdata/mediasources.xml
## ./userdata/sources.xml
echo "NO TIDDLER WITH ${TH}"
continue
fi
exit 0
## TODO CREATE FROM FRIEND LOCAL KODI RSS
#~ echo '<?xml version="1.0" encoding="UTF-8" ?>
#~ <rss version="2.0">
#~ <channel>
#~ <title>RSS ASTROPORT</title>
#~ <description>Astroport Kodi RSS feed</description>
#~ <link>https://www.copylaradio.com</link>
#~ <copyright>2020 Astroport.com FOSS</copyright>
#~ <lastBuildDate>Mon, 6 Sep 2020 00:01:00 +0000</lastBuildDate>
#~ <pubDate>Sun, 6 Sep 2020 16:20:00 +0000</pubDate>
#~ <ttl>1800</ttl>
#~ ' > ~/.zen/tmp/${MOATS}/movie.rss
#~ find ~/.zen/game/players/${PLAYER}/FRIENDS -mindepth 1 -maxdepth 1 -type d | rev | cut -f 1 -d '/' | rev > ~/.zen/tmp/${MOATS}/twfriends
#~ ## SCAN ALL "_APLAYER.tiddlers.json"
#~ for FILE in $(ls ${N1PATH}/*.tiddlers.json); do
#~ APLAYER=$(echo "$FILE" | rev | cut -d '.' -f 3- | cut -d '_' -f 1 | rev )
#~ [[ ${APLAYER} == ${PLAYER} ]] && echo "My Movie List" && continue
#~ ## EXTRACT all titles to do JQ LOOP
#~ cat ${FILE} | jq -r .[].title > ~/.zen/tmp/${MOATS}/${APLAYER}.movie.id
#~ while read TITLE; do
#~ ## GET AG1PUB FROM FRIEND TW
#~ ## BUG !!!
#~ TITRE=$(cat ${FILE} | jq -r .[].titre)
#~ SUB=$(cat ${FILE} | jq -r .[].sub)
#~ IPFSONE=$(cat ${FILE} | jq -r .[].ipfs_one)
#~ echo "${IPFSONE}" | base16 -d > ~/.zen/tmp/${MOATS}/source.one.enc
#~ ~/.zen/Astroport.ONE/tools/natools.py decrypt -f pubsec \
#~ -k ~/.zen/game/players/${PLAYER}/secret.dunikey \
#~ -i ~/.zen/tmp/${MOATS}/source.one.enc -o $HOME/.zen/tmp/${MOATS}/source.one
#~ SOURCE=$(cat ${FILE} | jq -r .[].source)
#~ IPFS_ME=$(cat ${FILE} | jq -r .[].ipfs_${player})
#~ echo '
#~ <item>
#~ <title>'${TITRE}'</title>
#~ <description>'${SUB}'</description>
#~ <link>http://ipfs.localhost:8080/ipfs/QmQwYpoHX6Fw26nd3KFfLj71Uv34riT4F5X2RFy2rmHekW</link>
#~ <pubDate>Sun, 6 Sep 2022 16:20:00 +0000</pubDate>
#~ </item>' >> ~/.zen/tmp/${MOATS}/movie.rss
#~ done < ~/.zen/tmp/${MOATS}/${APLAYER}.movie.id
#~ done
#~ ## EXTRACT and DECODE ipfs_AG1PUB from FRIENDS json's
#~ echo '
#~ </channel>
#~ </rss>
#~ ' >> ~/.zen/tmp/${MOATS}/movie.rss
#~ ## UPDATE LOCAL KODI WITH
#~ ## ./userdata/mediasources.xml
#~ ## ./userdata/sources.xml