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)
|
2022-11-05 13:55:02 +01:00
|
|
|
isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/")
|
2022-11-19 20:34:28 +01:00
|
|
|
[[ ! $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
|
|
|
|
2022-11-18 22:47:45 +01: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" \
|
2022-12-02 15:14:19 +01:00
|
|
|
&& 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
|
|
|
|
2022-11-18 22:47:45 +01: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
|
|
|
|
2022-11-18 22:47:45 +01: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
|
|
|
|
|
|
|
|
########################################################################
|
2022-11-18 22:47:45 +01:00
|
|
|
# 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
|
2022-11-18 22:47:45 +01:00
|
|
|
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
|
|
|
|
|
2022-11-18 22:47:45 +01:00
|
|
|
### 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
|
|
|
|
2022-11-19 20:26:21 +01: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 "-----------------------------------------------------------------"
|
|
|
|
|
2022-11-18 22:47:45 +01:00
|
|
|
### 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-10-31 14:25:18 +01:00
|
|
|
|
2022-11-18 20:22:33 +01:00
|
|
|
end=`date +%s`
|
|
|
|
ipfsdur=`expr $end - $startipfs`
|
|
|
|
echo IPFS ADD time was $ipfsdur seconds.
|
|
|
|
###########################################################
|
|
|
|
############################################
|
|
|
|
################################
|
2022-11-18 22:47:45 +01:00
|
|
|
APPNAME="KEY"
|
2022-09-04 12:20:55 +02:00
|
|
|
echo "-----------------------------------------------------------------"
|
|
|
|
echo "IPFS $file DIRECTORY: ipfs ls /ipfs/$IPFSREPFILEID"
|
2022-11-18 22:47:45 +01:00
|
|
|
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"
|
2022-12-02 19:38:05 +01:00
|
|
|
echo "$line" > ~/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 ----------------------"
|
2022-11-18 22:47:45 +01:00
|
|
|
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-12-04 23:02:09 +01:00
|
|
|
YEAR=$(cat ~/Astroport/${TyPE}/${REFERENCE}/${MOATS}_ajouter_video.txt | cut -d ';' -f 3 )
|
2022-11-21 18:58:03 +01:00
|
|
|
|
|
|
|
## Adapt TMDB url for season & tag naming
|
2022-12-04 23:02:09 +01:00
|
|
|
[[ $CAT == "Film" ]] \
|
2022-12-06 18:39:14 +01:00
|
|
|
&& TITLE="$TITLE ($YEAR)" \
|
|
|
|
&& 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-12-14 13:46:06 +01:00
|
|
|
TAGS="G1${CAT} ${PLAYER} ${FILETAG} $SAISON $GENRE ipfs ${HASHTAG} $YEAR $MIME"
|
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-12-04 23:02:09 +01:00
|
|
|
"title": "'${TITLE}'",
|
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}'",
|
2022-10-31 14:25:18 +01:00
|
|
|
"size": "'${FILE_BSIZE}'",
|
2022-11-03 01:15:33 +01:00
|
|
|
"description": "'${DESCRIPTION}'",
|
2022-11-22 23:16:12 +01:00
|
|
|
"screenshot": "'/ipfs/${POSTER}'",
|
2022-11-03 01:15:33 +01:00
|
|
|
"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
|
|
|
|
|
|
|
|
|