Astroport.ONE/tools/new_file_in_astroport.sh

384 lines
17 KiB
Bash
Raw Normal View History

2022-09-04 12:20:55 +02:00
#!/bin/bash
########################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.3
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
########################################################################
2022-11-23 14:59:04 +01:00
# COPY ~/Astroport/* files to IPFS
2022-09-04 12:20:55 +02:00
# Publish INDEX ~/.zen/game/players/$PLAYER/ipfs/.*/${PREFIX}ASTRXBIAN
######## #### ### ## #
2022-11-18 20:22:33 +01:00
start=`date +%s`
2022-09-04 12:20:55 +02:00
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
countMErunning=$(ps auxf --sort=+utime | grep -w $ME | grep -v -E 'color=auto|grep' | wc -l)
[[ $countMErunning -gt 2 ]] && echo "$ME already running $countMErunning time" && exit 0
2022-11-16 06:11:07 +01:00
YOU=$(ipfs swarm peers >/dev/null 2>&1 && echo "$USER" || ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1);
2022-09-04 12:20:55 +02:00
IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID)
[[ ! $IPFSNODEID ]] && echo 'ERROR missing IPFS Node id !! IPFS is not responding !?' && exit 1
2022-10-31 17:52:57 +01:00
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID)
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/")
[[ ! $myIP || $isLAN ]] && myIP="ipfs.localhost"
2022-09-04 12:20:55 +02:00
2022-11-19 17:46:00 +01:00
alias zenity='zenity 2> >(grep -v GtkDialog >&2)'
2022-11-23 14:59:04 +01:00
# ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/Astroport/kodi/vstream/${PREFIX}ASTRXBIAN
2022-10-31 17:52:57 +01:00
# Astropot/Kodi/Vstream source reads ${PREFIX}ASTRXBIAN from http://${myIP}:8080/.$IPFNODEID/
2022-09-04 12:20:55 +02:00
# Index File Format (could be enhanced) is using Kodi TMDB enhancement
# https://github.com/Kodi-vStream/venom-xbmc-addons/wiki/Voir-et-partager-sa-biblioth%C3%A8que-priv%C3%A9e#d%C3%A9clarer-des-films
########################################################################
2022-11-23 14:59:04 +01:00
## RUN inotifywait process ~/Astroport/ NEW FILE DETECT
2022-09-04 12:20:55 +02:00
# /usr/bin/inotifywait -r -e close_write -m /home/$YOU/astroport | while read dir flags file; do ~/.zen/Astroport.ONE/tools/new_file_in_astroport.sh "$dir" "$file"; done &
2022-11-23 14:59:04 +01:00
# mkdir -p ~/Astroport/youtube
# mkdir -p ~/Astroport/mp3
2022-09-04 12:20:55 +02:00
########################################################################
path="$1"
if [[ "$path" == "" ]]; then
echo "## BATCH RUN. READ FIFO FILE."
fi
2022-11-21 18:58:03 +01:00
2022-09-04 12:20:55 +02:00
# Add trailing / if needed
length=${#path}
last_char=${path:length-1:1}
[[ $last_char != "/" ]] && path="$path/"; :
file="$2"
G1PUB="$3"
2022-11-18 20:22:33 +01:00
### ECHO COMMAND RECEIVED
echo "$MY_PATH/new_file_in_astroport.sh PATH/ \"$path\" FILE \"$file\" G1PUB \"$G1PUB\" "
2022-09-04 12:20:55 +02:00
2022-11-18 20:22:33 +01:00
################################################
## FILE ANALYSE & IDENTIFICATION TAGGINGS
2022-09-04 12:20:55 +02:00
extension="${file##*.}"
TITLE="${file%.*}"
2022-11-21 18:58:03 +01:00
# CapitalGluedTitle
CapitalGluedTitle=$(echo "${TITLE}" | sed -r 's/\<./\U&/g' | sed 's/ //g')
2022-11-18 20:22:33 +01:00
# .part file false flag correcting (in case inotify has launched script)
2022-09-04 12:20:55 +02:00
[[ ! -f "${path}${file}" ]] && file="${TITLE%.*}" && extension="${TITLE##*.}" && [[ ! -f "${path}${file}" ]] && er="NO FILE" && echo "$er" && exit 1
2022-11-18 20:22:33 +01:00
2022-11-14 13:54:30 +01:00
MIME=$(file --mime-type -b "${path}${file}")
2022-09-04 12:20:55 +02:00
############# EXTEND MEDIAKEY IDENTIFATORS https://github.com/NapoleonWils0n/ffmpeg-scripts
2022-11-18 20:22:33 +01:00
if [[ $(echo "$MIME" | grep 'video') ]]; then
## Create gifanime ## TODO Search for similarities BEFORE ADD
echo "(✜‿‿✜) GIFANIME (✜‿‿✜)"
2022-11-29 16:39:58 +01:00
$(${MY_PATH}/make_video_gifanim_ipfs.sh "$path" "$file" | tail -n 1)
echo "$DUREE GIFANIM ($PROBETIME) : /ipfs/$ANIMH"
2022-11-18 20:22:33 +01:00
fi
2022-11-22 19:13:55 +01:00
########################################################################
# GET CONNECTED PLAYER
########################################################################
[[ ! $G1PUB ]] && G1PUB=$(cat ~/.zen/game/players/.current/.g1pub 2>/dev/null)
2022-09-04 12:20:55 +02:00
PLAYER=$(cat ~/.zen/game/players/.current/.player 2>/dev/null);
2022-11-22 19:13:55 +01:00
[[ ! $PLAYER ]] && echo "(╥☁╥ ) No current player. Please Login" && exit 1
# NOT CURRENT PLAYER (CHECK FOR TW & KEY
2022-12-01 18:26:21 +01:00
[[ $(ipfs key list -l | grep -w $G1PUB) ]] \
2022-11-22 19:13:55 +01:00
&& echo "(ᵔ◡◡ᵔ) INVITATION $G1PUB" \
&& ASTRONS=$($MY_PATH/g1_to_ipfs.py "$G1PUB") \
2022-12-01 18:26:21 +01:00
&& $MY_PATH/TW.cache.sh $ASTRONS $MOATS \
2022-11-22 19:13:55 +01:00
|| echo "(╥☁╥ ) I cannot help you"
########################################################################
2022-09-04 12:20:55 +02:00
2022-11-18 20:22:33 +01:00
## Indicate IPFSNODEID copying
2022-09-04 12:20:55 +02:00
mkdir -p ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}
2022-11-23 14:59:04 +01:00
### SOURCE IS ~/Astroport/ !!
2022-12-01 18:26:21 +01:00
[[ ! $(echo "$path" | cut -d '/' -f 4 | grep 'Astroport') ]] && er="Les fichiers sont à placer dans ~/Astroport/ MERCI" && echo "$er" && exit 1
2022-09-04 12:20:55 +02:00
### TyPE & type & T = related to ~/astroport location of the infile (mimetype subdivision)
2022-11-23 14:59:04 +01:00
TyPE=$(echo "$path" | cut -d '/' -f 5 ) # ex: /home/$YOU/Astroport/... TyPE(film, youtube, mp3, video, page)/ REFERENCE /
2022-11-18 20:22:33 +01:00
type=$(echo "$TyPE" | awk '{ print tolower($0) }')
PREFIX=$(echo "$TyPE" | head -c 1 | awk '{ print toupper($0) }' ) # ex: F, Y, M ou Y (all the alaphabet can address a data type
2022-09-04 12:20:55 +02:00
# File cannot be without "TyPE" in ~/astroport
2022-09-04 12:20:55 +02:00
if [[ $PREFIX == "" ]]
then
2022-11-18 20:22:33 +01:00
[[ ! $3 ]] && [[ "$USER" != "xbian" ]] && zenity --warning --width 300 --text "Désolé votre fichier ne peut pas être traité"
er="$er | WARNING. $TyPE is root file UNTREATED" && echo "$er" && exit 1
2022-09-04 12:20:55 +02:00
fi
########################################################################
# EXTRACT INDEX REFERENCE : TMDB or YOUTUBE (TODO : EXTEND)
2022-09-04 12:20:55 +02:00
########################################################################
2022-11-18 20:22:33 +01:00
case ${type} in
2022-09-04 12:20:55 +02:00
video)
INDEXPREFIX="VIDEO_"
REFERENCE=$(echo "$path" | cut -d '/' -f 6 )
TITLE="${file%.*}"
;;
youtube)
INDEXPREFIX="YOUTUBE_"
REFERENCE=$(echo "$path" | cut -d '/' -f 6 )
TITLE="${file%.*}"
;;
page)
INDEXPREFIX="PAGE_"
REFERENCE=$(echo "$path" | cut -d '/' -f 6 )
TITLE="${file%.*}"
;;
film | serie)
INDEXPREFIX="TMDB_"
REFERENCE=$(echo "$path" | cut -d '/' -f 6 ) # Path contains TMDB id
if ! [[ "$REFERENCE" =~ ^[0-9]+$ ]] # ${REFERENCE} NOT A NUMBER
then
er="$er | ERROR: $path BAD TMDB code. Get it from https://www.themoviedb.org/ or use your a mobile phone number ;)"
2022-09-04 12:20:55 +02:00
echo "$er"
exit 1
fi
;;
## TODO ADD "httrack" for website copying
## httrack "https://wiki.lowtechlab.org" -O "./wiki.lowtechlab.org" "+*.lowtechlab.org/*" -v -%l "fr"
##
*)
2022-11-18 20:22:33 +01:00
er="$type inconnu" && echo "$er" && exit 1
2022-09-04 12:20:55 +02:00
;;
esac
### SET MEDIAKEY
2022-09-04 12:20:55 +02:00
MEDIAKEY="${INDEXPREFIX}${REFERENCE}"
2022-11-14 13:54:30 +01:00
echo ">>>>>>>>>> $MEDIAKEY ($MIME) <<<<<<<<<<<<<<<"
2022-09-04 12:20:55 +02:00
######################### Decimal convert
rm ~/.zen/tmp/decimal
echo "$CapitalGluedTitle" > ~/.zen/tmp/convert
# iteracte through each like
while read -r -n1 char; do
arr+=$(printf '%d+' "'$char");
done <<< ~/.zen/tmp/convert
printf '%s' "${arr[@]::-3}" > ~/.zen/tmp/decimal
## TODO USE IT TO MAKE A MEDIAKEY IMAGE KEY "SONDE" FOR FILTERING ?
# ISSUE11 : https://git.p2p.legal/qo-op/Astroport.ONE/issues/11
##########################
2022-09-04 12:20:55 +02:00
########################################################################
2022-11-14 13:54:30 +01:00
echo "ADDING ${path}${file} to IPFS "
2022-09-04 12:20:55 +02:00
echo "-----------------------------------------------------------------"
### FILE SIZING ####
2022-11-18 20:22:33 +01:00
FILE_BSIZE=$(du -b "${path}${file}" | awk '{print $1}')
FILE_SIZE=$(echo "${FILE_BSIZE}" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }')
################################
###########################################
###########################################################
### IPFS ADD ###########################################################
2022-11-14 13:54:30 +01:00
###########################################################
2022-11-18 20:22:33 +01:00
startipfs=`date +%s`
echo "ADDING FILE SIZE = $FILE_SIZE ($FILE_BSIZE octets)"
2022-09-04 12:20:55 +02:00
IPFS=$(ipfs add -wq "${path}${file}")
IPFSREPFILEID=$(echo $IPFS | cut -d ' ' -f 2)
IPFSID=$(echo $IPFS | cut -d ' ' -f 1)
[[ $IPFSREPFILEID == "" ]] && echo "ipfs add ERROR" && exit 1
2022-11-18 20:22:33 +01:00
end=`date +%s`
ipfsdur=`expr $end - $startipfs`
echo IPFS ADD time was $ipfsdur seconds.
###########################################################
############################################
################################
APPNAME="KEY"
2022-09-04 12:20:55 +02:00
echo "-----------------------------------------------------------------"
echo "IPFS $file DIRECTORY: ipfs ls /ipfs/$IPFSREPFILEID"
echo "APP $APPNAME OUTPUT -----------------------------------------------------------------"
echo "$HOME/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/${APPNAME}/${MIME}/${MEDIAKEY}/${G1PUB}/ "
2022-09-04 12:20:55 +02:00
URLENCODE_FILE_NAME=$(echo ${file} | jq -Rr @uri)
2022-11-20 12:57:41 +01:00
### MEDIAKEY FORGE
########################################################################
## CREATE NEW ipns KEY : ${MEDIAKEY}
########################################################################
## IPFS SELF IPNS DATA STORAGE
## ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/
########################################################################
if [[ ! $(ipfs key list | grep -w "${MEDIAKEY}") ]]; then
echo "CREATING NEW IPNS $MEDIAKEY"
## IPNS KEY CREATION ?
mkdir -p ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}
KEY=$(ipfs key gen "${MEDIAKEY}")
KEYFILE=$(~/.zen/Astroport.ONE/tools/give_me_keystore_filename.py "${MEDIAKEY}") # better method applied
fi
## IS IT NEW IPNS KEY?
if [[ $KEY ]]; then
# memorize IPNS key filename for easiest exchange
echo "$KEYFILE" > ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/.ipns.key.keystore_filename
# Publishing IPNS key
echo "$KEY" > ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/.ipns.link
# CREATE .zen = ZEN economic value counter
touch ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/.zen
################ STORE ENCRYPT keystore/$KEYFILE
cp ~/.ipfs/keystore/$KEYFILE ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/
else
KEY=$(cat ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/.ipns.link)
KEYFILE=$(cat ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/.ipns.key.keystore_filename)
echo "## ALREADY EXISTING IPNS KEY $KEYFILE ($KEY)"
fi
2022-09-04 12:20:55 +02:00
2022-11-21 21:30:58 +01:00
2022-09-04 12:20:55 +02:00
########################################################################
2022-11-21 21:30:58 +01:00
# type TW PUBLISHING
2022-09-04 12:20:55 +02:00
########################################################################
2022-11-21 21:30:58 +01:00
if [[ "${type}" =~ ^(page|film|serie|youtube|video)$ ]]
2022-09-04 12:20:55 +02:00
then
2022-11-21 21:30:58 +01:00
## ASK FOR EXTRA METADATA
[[ ! $3 ]] && OUTPUT=$(zenity --forms --width 480 --title="METADATA" --text="Metadonnées (séparateur espace)" --separator="~" --add-entry="Description" --add-entry="extra tag(s)")
[[ ! $3 ]] && DESCRIPTION=$(awk -F '~' '{print $1}' <<<$OUTPUT)
[[ ! $3 ]] && HASHTAG=$(awk -F '~' '{print $2}' <<<$OUTPUT)
# # # # ${MOATS}_ajouter_video.txt DATA # # # #
2022-11-23 14:59:04 +01:00
if [[ -f ~/Astroport/${TyPE}/${REFERENCE}/ajouter_video.txt ]]
2022-09-04 12:20:55 +02:00
then
2022-11-23 14:59:04 +01:00
line=$(cat ~/Astroport/${TyPE}/${REFERENCE}/ajouter_video.txt | sed "s/_IPFSREPFILEID_/$IPFSREPFILEID/g" | sed "s/_IPNSKEY_/$IPNS/g" )
2022-09-04 12:20:55 +02:00
else
2022-11-18 20:22:33 +01:00
line="$type;${REFERENCE};$YEAR;$TITLE;$SAISON;;${IPNS};$RES;/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME"
2022-09-04 12:20:55 +02:00
fi
2022-11-21 21:30:58 +01:00
echo "-------------------- ${MOATS}_ajouter_video.txt -----------------------------"
2022-09-04 12:20:55 +02:00
echo "$line"
2022-11-23 14:59:04 +01:00
echo "UPDATE ~/Astroport/${TyPE}/${REFERENCE}/ajouter_video.txt"
echo "$line" > ~/Astroport/${TyPE}/${REFERENCE}/ajouter_video.txt
2022-09-04 12:20:55 +02:00
2022-11-21 21:30:58 +01:00
## MOATS TIMESTAMPING
2022-11-23 14:59:04 +01:00
cp ~/Astroport/${TyPE}/${REFERENCE}/ajouter_video.txt ~/Astroport/${TyPE}/${REFERENCE}/${MOATS}_ajouter_video.txt
2022-09-04 12:20:55 +02:00
2022-11-21 21:30:58 +01:00
echo "----------------- GETTING METADATA ----------------------"
CAT=$(echo "$type" | sed -r 's/\<./\U&/g' | sed 's/ //g') # CapitalGluedWords
2022-11-23 14:59:04 +01:00
GENRE=$(cat ~/Astroport/${TyPE}/${REFERENCE}/${MOATS}_ajouter_video.txt | cut -d ';' -f 6 | sed 's/|/ /g' | jq -r '@csv' | sed 's/ /_/g' | sed 's/,/ /g' | sed 's/\"//g' )
2022-11-21 18:58:03 +01:00
## Adapt TMDB url for season & tag naming
2022-11-23 14:59:04 +01:00
[[ $CAT == "Film" ]] && H1="<h1><a target='tmdb' href='https://www.themoviedb.org/movie/"${REFERENCE}"'>"${TITLE}"</a></h1>" \
2022-11-21 18:58:03 +01:00
&& FILETAG="$CapitalGluedTitle"
2022-11-23 14:59:04 +01:00
[[ $CAT == "Serie" ]] && H1="<h1><a target='tmdb' href='https://www.themoviedb.org/tv/"${REFERENCE}"'>"${TITLE}"</a></h1>" \
&& SAISON=$(cat ~/Astroport/${TyPE}/${REFERENCE}/${MOATS}_ajouter_video.txt | cut -d ';' -f 5 | cut -d '_' -f 2) \
2022-11-21 18:58:03 +01:00
&& FILETAG=$(echo "$CapitalGluedTitle" | cut -d '_' -f 1)
2022-11-23 14:59:04 +01:00
[[ $CAT == "Youtube" ]] && H1="<h1><a target='youtube' href='https://www.youtube.com/watch?v="$(cat ${REFERENCE} | rev | cut -d '_' -f 1 | rev)"'>"${TITLE}"</a></h1>"
2022-11-20 12:57:41 +01:00
echo $GENRE $SAISON
2022-11-14 13:54:30 +01:00
2022-11-23 14:59:04 +01:00
## Add screenshot
[[ -f $HOME/Astroport/${TyPE}/${REFERENCE}/screen.png ]] && SCREENSHOT=$(ipfs add -q "$HOME/Astroport/${TyPE}/${REFERENCE}/screen.png" | tail -n 1)
2022-11-03 20:11:17 +01:00
2022-09-04 12:20:55 +02:00
if [[ $(echo "$MIME" | grep 'video') ]]; then
2022-11-18 20:22:33 +01:00
2022-11-23 14:59:04 +01:00
TEXT="<video controls width=100% poster='/ipfs/"${ANIMH}"'><source src='/ipfs/"${IPFSID}"' type='"${MIME}"'></video>
2022-11-22 23:16:12 +01:00
<br>{{!!duree}}<br>
2022-11-23 14:59:04 +01:00
"$H1"
2022-12-01 18:26:21 +01:00
<h2>"$DESCRIPTION"</h2>"
2022-11-23 14:59:04 +01:00
2022-11-18 20:22:33 +01:00
TidType="text/vnd.tiddlywiki" ## MAYBE REAL ONCE TW CAN SHOW ATTACHED IPFS VIDEO (TODO: TESTINGS)
2022-11-21 21:30:58 +01:00
TAGS="G1${CAT} ${PLAYER} ${FILETAG} $SAISON $GENRE ipfs ${HASHTAG}"
2022-11-18 20:22:33 +01:00
# TyPE="$MIME"
2022-11-14 13:54:30 +01:00
# CANON="/ipfs/"${IPFSID}
2022-09-04 12:20:55 +02:00
CANON=''
else
2022-11-18 20:22:33 +01:00
TidType="${MIME}"
2022-09-04 12:20:55 +02:00
TEXT='${MEDIAKEY}'
2022-11-19 03:18:09 +01:00
TAGS="'$:/isAttachment $:/isIpfs G1${CAT} ${PLAYER} ${CapitalGluedTitle} $GENRE ${HASHTAG}"
2022-09-04 12:20:55 +02:00
CANON="/ipfs/"${IPFSID}
fi
2022-11-20 12:57:41 +01:00
## Archive previous dragdrop.json
2022-11-23 14:59:04 +01:00
[[ -s ~/Astroport/${TyPE}/${REFERENCE}/${MEDIAKEY}.dragdrop.json ]] \
&& cp ~/Astroport/${TyPE}/${REFERENCE}/${MEDIAKEY}.dragdrop.json ~/Astroport/${TyPE}/${REFERENCE}/${MOATS}.${MEDIAKEY}.dragdrop.json
2022-11-20 12:57:41 +01:00
2022-09-04 12:20:55 +02:00
echo "## Creation json tiddler"
echo '[
{
"text": "'${TEXT}'",
2022-11-19 03:18:09 +01:00
"title": "'${CapitalGluedTitle}'",
2022-11-21 18:58:03 +01:00
"season": "'${SAISON}'",
2022-11-13 02:23:28 +01:00
"created": "'${MOATS}'",
2022-11-14 13:54:30 +01:00
"resolution": "'${RES}'",
2022-11-21 18:58:03 +01:00
"duree": "'${DUREE}'",
"duration": "'${DURATION}'",
"giftime": "'${PROBETIME}'",
2022-11-18 20:22:33 +01:00
"gifanime": "'/ipfs/${ANIMH}'",
"type": "'${TidType}'",
"mime": "'${MIME}'",
"ipfsdur": "'${ipfsdur}'",
2022-09-04 12:20:55 +02:00
"cat": "'${CAT}'",
"size": "'${FILE_BSIZE}'",
"description": "'${DESCRIPTION}'",
2022-11-22 23:16:12 +01:00
"screenshot": "'/ipfs/${POSTER}'",
"ipfsroot": "'/ipfs/${IPFSREPFILEID}'",
2022-09-04 12:20:55 +02:00
"file": "'${file}'",
2022-10-20 15:25:08 +02:00
"ipfs": "'/ipfs/${IPFSREPFILEID}/${URLENCODE_FILE_NAME}'",
2022-09-04 12:20:55 +02:00
"mediakey": "'${MEDIAKEY}'",
2022-10-20 15:25:08 +02:00
"ipns": "'/ipns/${IPNS}'",
2022-09-04 12:20:55 +02:00
"tmdb": "'${REFERENCE}'",
2022-11-15 14:34:36 +01:00
"modified": "'${MOATS}'",
2022-11-23 14:59:04 +01:00
"tags": "'${TAGS}'" ' > ~/Astroport/${TyPE}/${REFERENCE}/${MEDIAKEY}.dragdrop.json
2022-09-04 12:20:55 +02:00
[[ ${CANON} != "" ]] && echo ',
2022-11-23 14:59:04 +01:00
"_canonical_uri": "'${CANON}'"' >> ~/Astroport/${TyPE}/${REFERENCE}/${MEDIAKEY}.dragdrop.json
2022-09-04 12:20:55 +02:00
echo '
}
]
2022-11-23 14:59:04 +01:00
' >> ~/Astroport/${TyPE}/${REFERENCE}/${MEDIAKEY}.dragdrop.json
2022-09-04 12:20:55 +02:00
2022-11-23 14:59:04 +01:00
echo "~/Astroport/${TyPE}/${REFERENCE}/${MEDIAKEY}.dragdrop.json copy into Station Balise"
2022-11-18 20:22:33 +01:00
#############################################################################
## ARCHIVE FOR IPFSNODEID CACHE SHARING (APPNAME=KEY)
mkdir -p "$HOME/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MIME}/${MEDIAKEY}/${G1PUB}/"
2022-11-23 14:59:04 +01:00
cp ~/Astroport/${TyPE}/${REFERENCE}/${MEDIAKEY}.dragdrop.json "$HOME/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MIME}/${MEDIAKEY}/${G1PUB}/tiddler.json"
2022-11-18 20:22:33 +01:00
#############################################################################
2022-09-04 12:20:55 +02:00
## TODO : Do we keep that ?
# echo "SEND TW LINK to GCHANGE MESSAGE"
2022-10-29 01:59:50 +02:00
[[ $3 ]] && ~/.zen/Astroport.ONE/tools/jaklis/jaklis.py -k ~/.zen/game/players/$PLAYER/secret.dunikey -n "https://data.gchange.fr" send -d "$3" -t "${TITLE} ${MEDIAKEY}" -m "MEDIA : http://astroport.com:8080/ipfs/${IPFSREPFILEID}"
2022-09-04 12:20:55 +02:00
# Couldl be used by caroussel.html template
2022-11-23 14:59:04 +01:00
# CAROUSSEL=$(ipfs add -wq ~/Astroport/${TyPE}/${REFERENCE}/${MEDIAKEY}.dragdrop.json | head-n 1)
2022-09-04 12:20:55 +02:00
2022-11-18 20:22:33 +01:00
# COPY TIDDLER JSON TO DESKTOP Journal/${TyPE}
2022-11-23 14:59:04 +01:00
# [[ "$USER" != "xbian" && -d ~/Bureau ]] && mkdir -p ~/Bureau/Journal/${TyPE} && cp ~/Astroport/${TyPE}/${REFERENCE}/${MEDIAKEY}.dragdrop.json "$HOME/Bureau/Journal/${TyPE}/${TITLE}.dragdrop.json" && xdg-open "$HOME/Bureau/Journal/${TyPE}/"
# [[ "$USER" != "xbian" && -d ~/Desktop ]] && mkdir -p ~/Desktop/Journal/${TyPE} && cp ~/Astroport/${TyPE}/${REFERENCE}/${MEDIAKEY}.dragdrop.json "$HOME/Desktop/Journal/${TyPE}/${TITLE}.dragdrop.json" && xdg-open "$HOME/Desktop/Journal/${TyPE}/"
2022-09-04 12:20:55 +02:00
fi
2022-11-18 20:22:33 +01:00
########################################################################
2022-09-04 12:20:55 +02:00
## COPY LOCALHOST IPFS URL TO CLIPBOARD
[[ $(which xclip) ]] &&\
2022-11-18 20:22:33 +01:00
echo "http://${myIP}:8080/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME" | xclip -selection c
2022-09-04 12:20:55 +02:00
########################################################################
########################################################################
2022-11-14 13:54:30 +01:00
# echo "DUNIKEY PASS $PASS"
2022-11-18 20:22:33 +01:00
echo "NEW $TyPE ($file) ADDED. http://${myIP}:8080/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME"
2022-11-14 13:54:30 +01:00
echo "VIDEO IPNS LINK : http://${myIP}:8080/ipns/$KEY/$G1PUB/ = Create 'G1${CAT}.sh' to adapt 20H12 Ŋ1 process"
2022-09-04 12:20:55 +02:00
echo "#### EXCECUTION TIME"
end=`date +%s`
2022-11-19 18:39:31 +01:00
dur=`expr $end - $start`
2022-11-20 12:57:41 +01:00
echo ${MOATS}:${G1PUB}:${PLAYER}:NewFile:$dur:${MEDIAKEY} >> ~/.zen/tmp/${IPFSNODEID}/_timings
2022-11-19 18:39:31 +01:00
cat ~/.zen/tmp/${IPFSNODEID}/_timings | tail -n 1
2022-09-04 12:20:55 +02:00
echo "########################################################################"
2022-11-18 20:22:33 +01:00
2022-09-04 12:20:55 +02:00
[[ ! $3 ]] && zenity --warning --width 300 --text "Votre MEDIA a rejoint ASTROPORT en `expr $end - $start` secondes"
2022-11-18 20:22:33 +01:00
2022-09-04 12:20:55 +02:00
exit 0