Collect Sector TWs RSS json Tiddlers into UPlanet SECTOR TW

This commit is contained in:
fred 2023-10-18 01:06:29 +02:00
parent 1051fabf20
commit e21c6e4e59
2 changed files with 130 additions and 5 deletions

View File

@ -147,8 +147,8 @@ while read LINE; do
[[ ! ${ASTROG1} ]] \
&& echo "SORRY ${EMAIL} MISSING ASTROG1" \
&& echo " $PLAYER VEUX VOUS OFFRIR ${SHARE} G1 \n Joignez-vous au Collectif https://www.copylaradio.com/" > ~/.zen/tmp/palpay.bro \
&& ${MY_PATH}/../tools/mailjet.sh "${EMAIL}" "BRO. " ~/.zen/tmp/palpay.bro \
&& echo " BRO. $PLAYER VEUX VOUS OFFRIR ${SHARE} G1 \n Joignez-vous à UPlanet https://www.qo-op.com/" > ~/.zen/tmp/palpay.bro \
&& ${MY_PATH}/../tools/mailjet.sh "${EMAIL}" ~/.zen/tmp/palpay.bro \
&& continue
@ -236,15 +236,16 @@ while read LINE; do
## SEND nb JUNE TO ALL ## MAKE ONE EACH AFTER ALL EMAIL CONSUMED ##
~/.zen/Astroport.ONE/tools/timeout.sh -t 12 \
${MY_PATH}/../tools/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey pay -a $nb -p ${ASTROG1} -c "${emails[@]} $TTITLE" -m > /dev/null 2>&1 ## PalPay $nb G1
${MY_PATH}/../tools/mailjet.sh "${PLAYER}" "OK PalPay : $MSG"
echo "OK PalPay : $MSG" > ~/.zen/tmp/${MOATS}/g1message
${MY_PATH}/../tools/mailjet.sh "${PLAYER}" ~/.zen/tmp/${MOATS}/g1message
echo "PAYMENT SENT --- PINNING $TOPIN"
## PINNING IPFS MEDIA - PROOF OF COPY SYSTEM -
ipfs pin add $TOPIN
else
${MY_PATH}/../tools/mailjet.sh "${PLAYER}" "ERREUR PalPay : ${TTITLE} : IMPOSSIBLE DE TROUVER ${emails[@]}"
echo "ERREUR PalPay : ${TTITLE} : IMPOSSIBLE DE TROUVER ${emails[@]}" > ~/.zen/tmp/${MOATS}/g1message
${MY_PATH}/../tools/mailjet.sh "${PLAYER}" ~/.zen/tmp/${MOATS}/g1message
echo "NO ACCOUNT FOUND"
fi

124
tools/RSS2UPlanetTW.sh Executable file
View File

@ -0,0 +1,124 @@
#!/bin/bash
########################################################################
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
########################################################################
# INSERT NEW TIDDLERS FROM RSS JSON INTO UPLANET TW
# DETECTING CONFLICT WITH ON SAME TITLE
# ASKING TO EXISTING SIGNATURES TO UPDATE THEIR TW OR FORK TITLE
########################################################################
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
RSS=$1
SECTOR=$2
MOATS=$3
[[ ! -s ${RSS} ]] && echo "BAD RSS INPUT" && exit 1
[[ ! -s ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html ]] && echo "BAD UPLANET CONTEXT" && exit 1
echo ${RSS}
titles=$(cat "${RSS}" | jq -r '.[] | .title')
for title in $titles; do
## CHECK FOR TIDDLER WITH SAME TITTLE IN SECTOR TW
rm -f ~/.zen/tmp/${MOATS}/TMP.json
tiddlywiki --load ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html --output ~/.zen/tmp/${MOATS} --render '.' 'TMP.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' "${title}"
ISHERE=$(cat ~/.zen/tmp/${MOATS}/TMP.json | jq -r ".[].title")
if [[ ${ISHERE} != ${title} ]]; then
## NEW TIDDLER
echo "Importing Title: $title"
cat "${RSS}" | jq -rc ".[] | select(.title == \"$title\")" > ~/.zen/tmp/${MOATS}/NEW.json
tiddlywiki --load ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html \
--import ~/.zen/tmp/${MOATS}/NEW.json "application/json" \
--output ~/.zen/tmp/${MOATS} --render "$:/core/save/all" "${SECTOR}.html" "text/plain"
[[ -s ~/.zen/tmp/${MOATS}/${SECTOR}.html ]] \
&& rm ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html \
&& mv ~/.zen/tmp/${MOATS}/${SECTOR}.html ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html
else
## SAME TIDDLER
echo "TIDDLER WITH TITLE $title ALREADY EXISTS..."
# IS IT FROM SAME PLAYER
cat ~/.zen/tmp/${MOATS}/TMP.json | jq -rc ".[] | select(.title == \"$title\")" > ~/.zen/tmp/${MOATS}/INSIDE.json
cat "${RSS}" | jq -rc ".[] | select(.title == \"$title\")" > ~/.zen/tmp/${MOATS}/NEW.json
[[ ! $(diff ~/.zen/tmp/${MOATS}/NEW.json ~/.zen/tmp/${MOATS}/INSIDE.json) ]] && echo "... Tiddlers are similar ..." && continue
## CHECK FOR EMAIL SIGNATURES
NTAGS=$(cat ~/.zen/tmp/${MOATS}/NEW.json | jq -r .tags)
NEMAILS=($(echo "$NTAGS" | grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b"))
N=${#NEMAILS[@]}
ITAGS=$(cat ~/.zen/tmp/${MOATS}/INSIDE.json | jq -r .tags)
IEMAILS=($(echo "$ITAGS" | grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b"))
I=${#IEMAILS[@]}
if [ ${N} -gt ${I} ]; then
## DIFFERENCE IN EMAIL SIGNATURES
COMMON=()
NUNIQUE=()
IUNIQUE=()
# Detect common and unique elements
for email in "${NEMAILS[@]}"; do
if [[ " ${IEMAILS[*]} " == *" $email "* ]]; then
COMMON+=("$email")
else
NUNIQUE+=("$email")
fi
done
for email in "${IEMAILS[@]}"; do
if [[ " ${NEMAILS[*]} " != *" $email "* ]]; then
IUNIQUE+=("$email")
fi
done
# Print the results
echo "Common email addresses: ${COMMON[*]}"
echo "Email addresses unique to NEMAILS: ${NUNIQUE[*]}"
echo "Email addresses unique to IEMAILS: ${IUNIQUE[*]}"
for email in "${COMMON[@]}"; do
echo "Hello ${COMMON[*]}\n\nA copy of your Tiddler has been made by ${NUNIQUE[*]} ${IUNIQUE[*]}\n\nPlease merge it\n or fork your title : $title" > ~/.zen/tmp/${MOATS}/g1message
${MY_PATH}/mailjet.sh "$email" ~/.zen/tmp/${MOATS}/g1message
done
## WAIT FOR FORK TO BE SOLVED
continue
fi
## DIFFERENT
NCREATED=$(cat ~/.zen/tmp/${MOATS}/NEW.json | jq -r .created)
ICREATED=$(cat ~/.zen/tmp/${MOATS}/INSIDE.json | jq -r .created)
if [ ${NCREATED} -gt ${ICREATED} ]; then
echo "Newer Tiddler version... Updating TW"
tiddlywiki --load ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html \
--import ~/.zen/tmp/${MOATS}/NEW.json "application/json" \
--output ~/.zen/tmp/${MOATS} --render "$:/core/save/all" "${SECTOR}.html" "text/plain"
[[ -s ~/.zen/tmp/${MOATS}/${SECTOR}.html ]] \
&& rm ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html \
&& mv ~/.zen/tmp/${MOATS}/${SECTOR}.html ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html
fi
fi
done