diff --git a/RUNTIME/SECTOR.refresh.sh b/RUNTIME/SECTOR.refresh.sh index 8ad49d37..6cdb47af 100755 --- a/RUNTIME/SECTOR.refresh.sh +++ b/RUNTIME/SECTOR.refresh.sh @@ -41,6 +41,9 @@ ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/SECTOR.priv "${SECTOR} ipfs key rm ${SECTORG1PUB} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT SECTORNS=$(ipfs key import ${SECTORG1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/SECTOR.priv) +## PROTOCOL UPDATE : TODO REMOVE +rm -f ~/.zen/tmp/${MOATS}/${UMAP}/SECTOR*.html + echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/SECTOR${SECTOR}.IPNS.html SECTORMAPGEN="/ipfs/QmRG3ZAiXWvKBccPFbv4eUTZFPMsfXG25PiZQD6N8M8MMM/Umap.html?southWestLat=${SLAT}&southWestLon=${SLON}°=0.1&ipns=${SECTORNS}" @@ -57,49 +60,59 @@ echo "" > ~/ ipfs get -o ~/.zen/tmp/${MOATS}/${SECTOR}/ /ipns/${SECTORNS}/ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + ## CONTROL CHAIN TIME + ZCHAIN=$(cat ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain | rev | cut -d ':' -f 1 | rev 2>/dev/null) + ZMOATS=$(cat ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_moats 2>/dev/null) + [[ ${ZCHAIN} && ${ZMOATS} ]] \ + && cp ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain.${ZMOATS} \ + && echo "UPDATING MOATS" + + MOATS_SECONDS=$(${MY_PATH}/../tools/MOATS2seconds.sh ${MOATS}) + ZMOATS_SECONDS=$(${MY_PATH}/../tools/MOATS2seconds.sh ${ZMOATS}) + DIFF_SECONDS=$((MOATS_SECONDS - ZMOATS_SECONDS)) + echo "SECTOR DATA is about ${DIFF_SECONDS} seconds old" + [ ${DIFF_SECONDS} -lt 36000 ] && echo "less than 10 hours... EXIT." && exit 0 ## INIT TW WITH TEMPLATE [[ ! -d ~/.zen/tmp/${MOATS}/${SECTOR}/TW ]] \ - && mkdir ~/.zen/tmp/${MOATS}/${SECTOR}/TW \ - && cp ${MY_PATH}/../templates/minimal.html ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html + && mkdir ~/.zen/tmp/${MOATS}/${SECTOR}/TW + ## NEW TW TEMPLATE ( UPDATE PROTOCOL SWITCHING index.html / index.htm ) + rm ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html ## TODO REMOVE + [[ ! -s ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.htm ]] \ + && sed "s~_SECTOR_~${SECTOR}~g" ${MY_PATH}/../templates/empty.html > ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.htm + + INDEX=~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.htm ## GET ALL RSS json's AND Feed SECTOR TW with it - ## TODO Make function to CONTROL Tiddlers with same Title from different WT and detect conflict. RSSNODE=($(ls ~/.zen/tmp/${IPFSNODEID}/UPLANET/_${SLAT}*_${SLON}*/RSS/*.rss.json 2>/dev/null)) NL=${#RSSNODE[@]} for RSS in ${RSSNODE[@]}; do - ${MY_PATH}/../tools/RSS2UPlanetTW.sh "${RSS}" "${SECTOR}" "${MOATS}" + ${MY_PATH}/../tools/RSS2UPlanetTW.sh "${RSS}" "${SECTOR}" "${MOATS}" "${INDEX}" done - RSSWARM=($(ls ~/.zen/tmp/swarm/*/UPLANET/_${SLAT}*_${SLON}*/RSS/*.rss.json 2>/dev/null)) NS=${#RSSWARM[@]} for RSS in ${RSSWARM[@]}; do - ${MY_PATH}/../tools/RSS2UPlanetTW.sh "${RSS}" "${SECTOR}" "${MOATS}" + ${MY_PATH}/../tools/RSS2UPlanetTW.sh "${RSS}" "${SECTOR}" "${MOATS}" "${INDEX}" done TOTL=$((${NL}+${NS})) echo "Number of RSS : "${TOTL} - echo ${TOTL} > ~/.zen/tmp/${MOATS}/${SECTOR}/N_RSS + rm ~/.zen/tmp/${MOATS}/${SECTOR}/N_RSS* + echo ${TOTL} > ~/.zen/tmp/${MOATS}/${SECTOR}/N_RSS_${TOTL} ###################################################### CHAINING BACKUP mkdir -p ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/ IPFSPOP=$(ipfs add -rwq ~/.zen/tmp/${MOATS}/${SECTOR}/* | tail -n 1) - ZCHAIN=$(cat ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain | rev | cut -d ':' -f 1 | rev 2>/dev/null) - ZMOATS=$(cat ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_moats 2>/dev/null) - [[ ${ZCHAIN} && ${ZMOATS} ]] \ - && cp ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain.${ZMOATS} \ - && echo "UPDATING MOATS" - ## DOES CHAIN CHANGED or INIT ? [[ ${ZCHAIN} != ${IPFSPOP} || ${ZCHAIN} == "" ]] \ && echo "${MOATS}:${IPFSNODEID}:${IPFSPOP}" > ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain \ diff --git a/tools/RSS2UPlanetTW.sh b/tools/RSS2UPlanetTW.sh index f3eaa071..b65f5770 100755 --- a/tools/RSS2UPlanetTW.sh +++ b/tools/RSS2UPlanetTW.sh @@ -14,9 +14,11 @@ ME="${0##*/}" RSS=$1 SECTOR=$2 MOATS=$3 +INDEX=$4 [[ ! -s ${RSS} ]] && echo "BAD RSS INPUT" && exit 1 -[[ ! -s ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html ]] && echo "BAD UPLANET CONTEXT" && exit 1 +[[ -d ~/.zen/tmp/${MOATS}/${SECTOR}/ ]] && echo "BAD UPLANET CONTEXT" && exit 1 +[[ ! -s ${INDEX} ]] && echo "BAD TW INDEX" && exit 1 echo ${RSS} titles=$(cat "${RSS}" | jq -r '.[] | .title') @@ -25,7 +27,7 @@ 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}" + tiddlywiki --load ${INDEX} --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 @@ -34,13 +36,13 @@ for title in "$titles"; do 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 \ + tiddlywiki --load ${INDEX} \ --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 \ + && rm ${INDEX} \ + && mv ~/.zen/tmp/${MOATS}/${SECTOR}.html ${INDEX} \ && echo "SECTOR TW UPDATED" else @@ -54,7 +56,7 @@ for title in "$titles"; do [[ ! $(diff ~/.zen/tmp/${MOATS}/NEW.json ~/.zen/tmp/${MOATS}/INSIDE.json) ]] && echo "... Tiddlers are similar ..." && continue - ## CHECK FOR EMAIL SIGNATURES + ## CHECK FOR EMAIL SIGNATURES DIFFERENCE 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[@]} @@ -114,26 +116,26 @@ https://vdo.copylaradio.com done - ## WAIT FOR FORK TO BE SOLVED + ## WAIT TITLE 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) + NMODIFIED=$(cat ~/.zen/tmp/${MOATS}/NEW.json | jq -r .modified) + IMODIFIED=$(cat ~/.zen/tmp/${MOATS}/INSIDE.json | jq -r .modified) - if [ ${NCREATED} -gt ${ICREATED} ]; then + if [ ${NMODIFIED} -gt ${IMODIFIED} ]; then echo "Newer Tiddler version... Updating TW" - tiddlywiki --load ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html \ + tiddlywiki --load ${INDEX} \ --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 + && rm ${INDEX} \ + && mv ~/.zen/tmp/${MOATS}/${SECTOR}.html ${INDEX} fi