diff --git a/RUNTIME/REGION.refresh.sh b/RUNTIME/REGION.refresh.sh
index 0fa23a7d4..7bce6864d 100755
--- a/RUNTIME/REGION.refresh.sh
+++ b/RUNTIME/REGION.refresh.sh
@@ -9,71 +9,102 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
. "$MY_PATH/../tools/my.sh"
################################################################################
## REGION REFRESH
-# SHARE & UPDATE IPNS TOGETHER
+# UMAP > SECTOR > REGION
+## Get from 100 sectors tiddlers with more than 2 signatures
############################################
-echo "## RUNNING REGION.refresh"
+echo "# # # # RUNNING REGION.refresh"
[[ ${IPFSNODEID} == "" ]] && echo "IPFSNODEID is empty - EXIT -" && exit 1
-## CALLED BY UPLANET.refresh.sh
-LAT=$1
-LON=$2
-MOATS=$3
-UMAP=$4
-REGIONNODE=$5
+MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
+mkdir ~/.zen/tmp/${MOATS}
-[[ ! -d ~/.zen/tmp/${MOATS-undefined}/${UMAP-undefined} ]] && echo "MISSING UMAP CONTEXT" && exit 1
+## UMAPS list made BY UPLANET.refresh.sh
+for i in $*; do
+ UMAPS=("$i" ${UMAPS[@]})
+done
-REGLAT=$(echo ${LAT} | cut -d '.' -f 1)
-REGLON=$(echo ${LON} | cut -d '.' -f 1)
-REGION="_${REGLAT}_${REGLON}"
-echo "REGION ${REGION}"
-[[ -s ~/.zen/tmp/${MOATS}/${UMAP}/${REGION}/index.html ]] && echo "ALREADY DONE" && exit 0
+[[ ${#UMAPS[@]} == 0 ]] && UMAPS="_0.00_0.00"
-[[ "${REGIONNODE}" == "${IPFSNODEID}" ]] && echo ">>> MANAGING REGION PUBLICATION" || exit 0
+######## INIT SECTORS ########################
+for UMAP in ${UMAPS[@]}; do
-##############################################################
-REGIONG1PUB=$(${MY_PATH}/../tools/keygen -t duniter "${UPLANETNAME}${REGION}" "${UPLANETNAME}${REGION}")
-[[ ! ${REGIONG1PUB} ]] && echo "ERROR generating REGION WALLET" && exit 1
- COINS=$($MY_PATH/../tools/COINScheck.sh ${REGIONG1PUB} | tail -n 1)
- echo "REGION : ${REGION} (${COINS} G1) WALLET : ${REGIONG1PUB}"
+ LAT=$(echo ${UMAP} | cut -d '_' -f 2)
+ LON=$(echo ${UMAP} | cut -d '_' -f 3)
-${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/REGION.priv "${UPLANETNAME}${REGION}" "${UPLANETNAME}${REGION}"
-ipfs key rm ${REGIONG1PUB} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
-REGIONNS=$(ipfs key import ${REGIONG1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/REGION.priv)
-##############################################################
-mkdir -p ~/.zen/tmp/${MOATS}/${UMAP}/${REGION}
-echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/${REGION}/index.html
+ [[ ${LAT} == "" || ${LON} == "" ]] && echo ">> ERROR BAD ${LAT} ${LON}" && continue
+ [[ ${LAT} == "null" || ${LON} == "null" ]] && echo ">> ERROR BAD ${LAT} ${LON}" && continue
-REGIONMAPGEN="${EARTHCID}/Umap.html?southWestLat=${REGLAT}&southWestLon=${REGLON}°=1&ipns=${REGIONNS}"
-REGIONSATGEN="${EARTHCID}/Usat.html?southWestLat=${REGLAT}&southWestLon=${REGLON}°=1&ipns=${REGIONNS}"
-echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/REGION${REGION}.Map.html
-echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/REGION${REGION}.Sat.html
+ REGLAT=$(echo ${LAT} | cut -d '.' -f 1)
+ REGLON=$(echo ${LON} | cut -d '.' -f 1)
- # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- #~ ## IPFS GET ONLINE SECTORNS
- mkdir ~/.zen/tmp/${MOATS}/${REGION}
- ipfs --timeout 42s get -o ~/.zen/tmp/${MOATS}/${REGION}/ /ipns/${REGIONNS}/
- # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- RSSNODE=($(ls ~/.zen/tmp/${IPFSNODEID}/UPLANET/_${REGLAT}*_${REGLON}*/RSS/*.rss.json 2>/dev/null))
- for RSS in ${RSSNODE[@]}; do
- echo ${RSS}
- done
- NL=${#RSSNODE[@]}
- RSSWARM=($(ls ~/.zen/tmp/swarm/*/UPLANET/_${REGLAT}*_${REGLON}*/RSS/*.rss.json 2>/dev/null))
- for RSS in ${RSSWARM[@]}; do
- echo ${RSS}
- done
- NS=${#RSSWARM[@]}
- TOTL=$((${NL}+${NS}))
+ MYREGIONS=("_${REGLAT}_${REGLON}" ${MYREGIONS[@]})
-echo "Number of RSS : "${TOTL}
- echo ${TOTL} > ~/.zen/tmp/${MOATS}/${REGION}/N_RSS
- IPFSPOP=$(ipfs add -q ~/.zen/tmp/${MOATS}/${REGION}/N_RSS)
+done
- ipfs name publish -k ${REGIONG1PUB} /ipfs/${IPFSPOP}
+## GET UNIQ SECTORS LIST
+REGIONS=($(echo "${MYREGIONS[@]}" | tr ' ' '\n' | sort -u))
-ipfs key rm ${REGIONG1PUB} > /dev/null 2>&1
+[[ ${REGIONS[@]} == "" ]] && echo "> NO REGION FOUND" && exit 0
+
+echo "ACTIVATED SECTORS : ${SECTORS[@]}"
+
+for REGION in ${REGIONS[@]}; do
+
+ echo "_____REGION ${REGION}"
+ mkdir -p ~/.zen/tmp/${MOATS}/${REGION}
+ REGLAT=$(echo ${REGION} | cut -d '_' -f 2)
+ REGLON=$(echo ${REGION} | cut -d '_' -f 3)
+
+ ################################## TODO : make sharing key protocol evolve
+ ## FOR NOW ONLY 1ST BOOSTRAP PUBLISH REGION KEYS
+ # with bigger planetary swam will be closest "IA Station", or it could be choosen according to ZEN value...
+ STRAPS=($(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#" | rev | cut -d '/' -f 1 | rev | grep -v '^[[:space:]]*$')) ## ${STRAPS[@]}
+ ACTINGNODE=${ALLNODES[0]} ## FIST NODE IN SECTOR.refresher
+ [[ "${ACTINGNODE}" != "${IPFSNODEID}" ]] \
+ && echo ">> ACTINGNODE=${ACTINGNODE} is not ME - CONTINUE -" \
+ && continue
+
+ ##############################################################
+ REGIONG1PUB=$(${MY_PATH}/../tools/keygen -t duniter "${UPLANETNAME}${REGION}" "${UPLANETNAME}${REGION}")
+ [[ ! ${REGIONG1PUB} ]] && echo "ERROR generating REGION WALLET" && exit 1
+ COINS=$($MY_PATH/../tools/COINScheck.sh ${REGIONG1PUB} | tail -n 1)
+ echo "REGION : ${REGION} (${COINS} G1) WALLET : ${REGIONG1PUB}"
+
+ ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/REGION.priv "${UPLANETNAME}${REGION}" "${UPLANETNAME}${REGION}"
+ ipfs key rm ${REGIONG1PUB} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
+ REGIONNS=$(ipfs key import ${REGIONG1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/REGION.priv)
+ ##############################################################
+ ## GET from IPNS
+ ipfs --timeout 180s get -o ~/.zen/tmp/${MOATS}/${REGION}/ /ipns/${REGIONNS}/
+ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ mkdir -p ~/.zen/tmp/${MOATS}/${REGION}/RSS
+ ## START WITH LOCAL WEEK
+ cp -f ~/.zen/tmp/${IPFSNODEID}/_${REGLAT}_${REGLON}.week.rss.json \
+ ~/.zen/tmp/${MOATS}/${REGION}/RSS/ 2>/dev/null \
+ && NL=1 \
+ || NL=0
+ ## ADD SWARM RSS WEEK
+ RSSWARM=($(ls ~/.zen/tmp/swarm/*/_${REGLAT}_${REGLON}.week.rss.json 2>/dev/null))
+ for RSS in ${RSSWARM[@]}; do
+ cat ${RSS} >> ~/.zen/tmp/${MOATS}/${REGION}/RSS/_${REGLAT}_${REGLON}.week.rss.json
+ done
+ NS=${#RSSWARM[@]}
+
+ TOTL=$((${NL}+${NS}))
+ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ echo "Numbers of SECTOR WEEK RSS : "${TOTL}
+
+ echo ${TOTL} > ~/.zen/tmp/${MOATS}/${REGION}/N
+ IPFSPOP=$(ipfs add -rwq ~/.zen/tmp/${MOATS}/${REGION}/)
+
+ ipfs name publish -k ${REGIONG1PUB} /ipfs/${IPFSPOP}
+
+ echo "EXTRACT MORE THAN 2 SIGNATURES TIDDLERS.
+ FEED WITH IA. LOADING CONTEXT FROM." > ~/.zen/tmp/${MOATS}/${REGION}/TODO
+
+ ipfs key rm ${REGIONG1PUB} > /dev/null 2>&1
+
+done
exit 0
diff --git a/RUNTIME/UPLANET.refresh.sh b/RUNTIME/UPLANET.refresh.sh
index ce68cc765..b77c9a4b3 100755
--- a/RUNTIME/UPLANET.refresh.sh
+++ b/RUNTIME/UPLANET.refresh.sh
@@ -94,8 +94,10 @@ echo "" > ~/
echo "GETTING YESTERDAY UMAP.refresher"
YESTERDAY=$(ipfs cat /ipfs/${ZCHAIN}/${LAT}_${LON}/UMAP.refresher | head -n 1)
## GET UMAP.refresher from PREVIOUS _chain ...
- echo "TODAY : $(cat ~/.zen/tmp/${MOATS}/${UMAP}/${LAT}_${LON}/UMAP.refresher | head -n 1)"
+ TODAY=$(cat ~/.zen/tmp/${MOATS}/${UMAP}/${LAT}_${LON}/UMAP.refresher | head -n 1)
+ echo "TODAY : ${TODAY}"
echo "YESTERDAY : ${YESTERDAY}"
+ echo "------------------------------------------------->>>>>>>>>>>>>>>>"
continue
fi
@@ -378,5 +380,6 @@ echo "" > ~/
${MY_PATH}/SECTOR.refresh.sh "${unique_combined[@]}"
### REGION = 1° Planet Slice
- # ${MY_PATH}/REGION.refresh.sh "${LAT}" "${LON}" "${MOATS}" "${UMAP}" "${ACTINGNODE}"
+ ${MY_PATH}/REGION.refresh.sh "${unique_combined[@]}"
+
diff --git a/tools/RSS2UPlanetTW.sh b/tools/RSS2UPlanetTW.sh
index 495627c46..9315790ba 100755
--- a/tools/RSS2UPlanetTW.sh
+++ b/tools/RSS2UPlanetTW.sh
@@ -6,15 +6,16 @@
# INSERT NEW TIDDLERS FROM RSS JSON INTO UPLANET TW
# DETECTING CONFLICT WITH SAME TITLE
# ASKING TO EXISTING SIGNATURES TO UPDATE THEIR TW OR FORK TITLE
+# CALLED BY "SECTOR.refresh.sh"
########################################################################
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
-RSS=$1
-SECTOR=$2
-MOATS=$3
-INDEX=$4
+RSS=$1 ## filepath to RSS
+SECTOR=$2 ## Sector identifier _0.0_0.0
+MOATS=$3 ## temp cache access
+INDEX=$4 ## SECTOR TW index file
[[ ! -s ${RSS} ]] && echo "BAD RSS INPUT" && exit 1
[[ ! -d ~/.zen/tmp/${MOATS}/${SECTOR}/ ]] && echo "BAD UPLANET CONTEXT" && exit 1
@@ -94,13 +95,13 @@ while read title; do
## 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[@]}
- echo "New Tiddler signatures : ${NEMAILS[*]}"
+ NSIGN=${#NEMAILS[@]}
+ echo "New Tiddler $NSIGN signatures : ${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[@]}
- echo "Inside Tiddler signatures : ${IEMAILS[*]}"
+ ISIGN=${#IEMAILS[@]}
+ echo "Inside Tiddler $ISIGN signatures : ${IEMAILS[*]}"
if [[ "${NEMAILS[*]}" != "${IEMAILS[*]}" ]]; then
@@ -188,16 +189,24 @@ To Refuse
&& rm ${INDEX} \
&& mv ~/.zen/tmp/${MOATS}/${SECTOR}.html ${INDEX}
- ## TODO : NEWER EMAIL SENDS N GRATITUDE TO ALL PLAYER
- # can use G1PalPay WISH sending it tho 1st, relaying to others...
-
fi
fi
done < ~/.zen/tmp/${MOATS}/${SECTOR}/tiddlers.list
+###################################################
+## EXTRACT LAST WEEK TIDDLERS TO IPFSNODEID CACHE
+ echo "(☉_☉ ) (☉_☉ ) (☉_☉ ) RSS"
+ rm -f ~/.zen/tmp/${IPFSNODEID}/${SECTOR}.week.rss.json
+ ## CREATING 7 DAYS JSON RSS STREAM
+ tiddlywiki --load ${INDEX} \
+ --output ~/.zen/tmp/${IPFSNODEID} --render '.' "${SECTOR}.week.rss.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[days:created[-7]!is[system]!tag[G1Voeu]]'
+ ## TODO FILTER INFORMATION WITH MULTIPLE SIGNATURES (DONE in REGION.refresh.sh)
+ ## TODO EXPORT AS RSS ## https://talk.tiddlywiki.org/t/has-anyone-generated-an-rss-feed-from-tiddlywiki/966/28
+
+####################################################
################################################
## SECTOR SENDS GRATITUDE TO PUBLISHING PLAYER
###################################################
@@ -205,6 +214,9 @@ done < ~/.zen/tmp/${MOATS}/${SECTOR}/tiddlers.list
if [[ ${gloups} -gt 0 && ${ASTROG1} ]]; then
# GENERATE SECTOR PIVATE KEY ################################
${MY_PATH}/../tools/keygen -t duniter -o ~/.zen/tmp/${MOATS}/sector.dunikey "${UPLANETNAME}${SECTOR}" "${UPLANETNAME}${SECTOR}"
+ G1SECTOR=$(cat ~/.zen/tmp/${MOATS}/sector.dunikey | grep 'pub:' | cut -d ' ' -f 2)
+ cp -f ~/.zen/tmp/coucou/${G1SECTOR}.COINS ~/.zen/tmp/${IPFSNODEID}/${SECTOR}.COINS
+
##############################################################
GRATITUDE=$($MY_PATH/../tools/getcoins_from_gratitude_box.sh)
G1AMOUNT=$(echo "$GRATITUDE / 10" | bc -l | xargs printf "%.2f" | sed "s~,~.~g" )