2021-01-29 01:09:40 +01:00
#!/bin/bash
########################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
########################################################################
# SCRIPT INTERACTIF POUR AJOUTER UN FICHIER à ASTROPORT/KODI
#
2021-06-14 11:20:34 +02:00
# 1. CAT: film, serie
2021-01-29 01:09:40 +01:00
# 2. TMDB: ID de la fiche sur https://www.themoviedb.org/
# 3. TITLE: Titre de la vidéo
# 4. YEAR: Année de la vidéo
# 5. RES: Résolution 1080p, 4K, SD, 720, HD
2021-06-14 11:20:34 +02:00
# 6. SAISON: Pour les séries, c'est le numéro de saison.
2021-01-29 01:09:40 +01:00
# Pour un film, le champ SAISON est utilisé pour renseigner la Saga
2021-08-06 02:47:07 +02:00
# 7. GENRES: Action, Aventure, Fantastique, Animation, etc (choix multiple).
2021-01-29 01:09:40 +01:00
# 8. GROUPES: Permet de regrouper des films. (choix multiple)
2021-08-06 02:47:07 +02:00
#
2021-01-29 01:09:40 +01:00
# https://github.com/Kodi-vStream/venom-xbmc-addons/wiki/Voir-et-partager-sa-biblioth%C3%A8que-priv%C3%A9e#d%C3%A9clarer-des-films
########################################################################
MY_PATH = " `dirname \" $0 \"` " # relative
MY_PATH = " `( cd \" $MY_PATH \" && pwd )` " # absolutized and normalized
ME = " ${ 0 ##*/ } "
########################################################################
[ [ $( which ipfs) = = "" ] ] && echo "ERREUR! Installez ipfs" && echo "wget https://git.p2p.legal/axiom-team/astrXbian/raw/master/.install/ipfs_alone.sh -O /tmp/ipfs_install.sh && chmod +x /tmp/ipfs_install.sh && /tmp/ipfs_install.sh" && exit 1
[ [ $( which zenity) = = "" ] ] && echo "ERREUR! Installez zenity" && echo "sudo apt install zenity" && exit 1
[ [ $( which ffmpeg) = = "" ] ] && echo "ERREUR! Installez ffmpeg" && echo "sudo apt install ffmpeg" && exit 1
[ [ $( which xdpyinfo) = = "" ] ] && echo "ERREUR! Installez x11-utils" && echo "sudo apt install x11-utils" && exit 1
2021-09-02 02:09:46 +02:00
URL = " $1 "
2021-09-02 22:42:34 +02:00
[ $URL ] && echo " URL: $URL " && REVSOURCE = " $( echo " $URL " | awk -F/ '{print $3}' | rev) _ " \
2021-09-02 14:20:25 +02:00
&& IMPORT = $( zenity --entry --width 640 --title= " $URL => Astroport " --text= "Choisissez comment copier cette source" --entry-text= "Video" MP3 Web) \
2021-09-02 02:09:46 +02:00
&& [ [ $IMPORT = = "Video" ] ] && IMPORT = "Youtube" \
&& CHOICE = " $IMPORT "
2021-09-02 22:42:34 +02:00
[ [ $CHOICE = = "Web" ] ] && CHOICE = $( zenity --entry --width 640 --title= " $URL => Astroport " --text= "Cette source WEB est à encrigistrer comme " --entry-text= "Page" WebSite)
2021-01-29 01:09:40 +01:00
# REMOVE GtkDialog errors for zenity
shopt -s expand_aliases
alias zenity = 'zenity 2> >(grep -v GtkDialog >&2)'
# GET SCREEN DIMENSIONS
screen = $( xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/' )
width = $( echo $screen | cut -d 'x' -f 1)
height = $( echo $screen | cut -d 'x' -f 2)
large = $(( width-300))
haut = $(( height-200))
########################################################################
2021-01-31 14:21:59 +01:00
IPFSNODEID = $( ipfs id -f= '<id>\n' )
2021-08-16 21:06:42 +02:00
[ [ -f ~/.zen/ipfs/.$IPFSNODEID /G1SSB/_g1.gchange_title ] ] && XZUID = " $( cat ~/.zen/ipfs/.$IPFSNODEID /G1SSB/_g1.gchange_title) " || XZUID = " $( cat /etc/hostname) "
2021-03-09 19:49:17 +01:00
[ [ -f ~/.zen/ipfs/.$IPFSNODEID /_xbian.zuid ] ] && AXID = $( cat ~/.zen/ipfs/.$IPFSNODEID /_xbian.zuid)
2021-01-29 01:21:28 +01:00
2021-09-02 22:42:34 +02:00
# zenity --warning --width 300 --text "Ajoutez un MEDIA dans ASTROPORT"
2021-02-04 02:56:57 +01:00
2021-07-01 20:55:29 +02:00
########################################################################
## CADRE EXCEPTION COPIE PRIVE
# https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000006278917/2008-12-11/
2021-04-07 23:47:00 +02:00
if [ [ ! -f ~/.zen/legal ] ] ; then
zenity --width ${ large } --height= ${ haut } --text-info \
2021-04-07 23:47:56 +02:00
--title= "Action conforme avec le Code de la propriété intellectuelle" \
2021-04-07 23:47:00 +02:00
--html \
2021-06-06 01:52:50 +02:00
--url= "https://fr.wikipedia.org/wiki/Droit_d%27auteur_en_France#Les_exceptions_au_droit_d%E2%80%99auteur" \
2021-04-07 23:47:00 +02:00
--checkbox= "J'ai lu et j'accepte les termes."
case $? in
0)
echo "AUTORISATION COPIE PRIVE ASTROPORT OK !"
2021-08-06 02:47:07 +02:00
echo " $G1PUB " > ~/.zen/legal
# next step
; ;
2021-04-07 23:47:00 +02:00
1)
echo "Refus conditions"
rm -f ~/.zen/legal
exit 1
2021-08-06 02:47:07 +02:00
; ;
2021-04-07 23:47:00 +02:00
-1)
echo "Erreur."
exit 1
2021-08-06 02:47:07 +02:00
; ;
2021-04-07 23:47:00 +02:00
esac
fi
2021-07-01 20:55:29 +02:00
########################################################################
2021-03-07 15:40:44 +01:00
# CHOOSE CATEGORY (remove anime, not working!)
2021-09-02 02:09:46 +02:00
[ [ $CHOICE = = "" ] ] && CHOICE = $( zenity --entry --width 300 --title= "Catégorie" --text= "Choisissez la catégorie de votre media" --entry-text= "Film" Serie Video Youtube MP3)
2021-02-24 16:13:19 +01:00
[ [ $CHOICE = = "" ] ] && exit 1
# LOWER CARACTERS
CAT = $( echo " ${ CHOICE } " | awk '{print tolower($0)}' )
2021-07-05 16:05:54 +02:00
# UPPER CARACTERS
2021-06-17 18:27:01 +02:00
CHOICE = $( echo " ${ CAT } " | awk '{print toupper($0)}' )
2021-09-02 22:42:34 +02:00
PREFIX = $( echo " ${ CAT } " | head -c 1 | awk '{ print toupper($0) }' ) # ex: F, S, A, Y, M ... P W
2021-02-24 16:13:19 +01:00
[ [ $PREFIX = = "" ] ] && exit 1
2021-07-01 20:55:29 +02:00
########################################################################
########################################################################
2021-03-03 13:10:55 +01:00
case ${ CAT } in
2021-02-24 16:13:19 +01:00
########################################################################
# CASE ## YOUTUBE
2021-08-06 02:47:07 +02:00
# _ _
# _ _ ___ _ _| |_ _ _| |__ ___
2021-06-17 17:01:55 +02:00
#| | | |/ _ \| | | | __| | | | '_ \ / _ \
#| |_| | (_) | |_| | |_| |_| | |_) | __/
# \__, |\___/ \__,_|\__|\__,_|_.__/ \___|
2021-08-06 02:47:07 +02:00
# |___/
2021-02-24 16:13:19 +01:00
########################################################################
2021-08-06 02:47:07 +02:00
youtube)
2021-04-02 13:30:36 +02:00
2021-09-02 14:20:25 +02:00
YTURL = " $URL "
2021-09-02 02:09:46 +02:00
[ [ $YTURL = = "" ] ] && YTURL = $( zenity --entry --width 300 --title "Lien ou identifiant à copier" --text "Indiquez le lien (URL) ou l'ID de la vidéo" --entry-text= "" )
2021-02-24 16:13:19 +01:00
[ [ $YTURL = = "" ] ] && exit 1
2021-03-04 00:02:09 +01:00
# Create TEMP directory to copy $YID_$TITLE.$FILE_EXT
2021-02-24 20:43:47 +01:00
YTEMP = " /tmp/ $( date -u +%s%N | cut -b1-13) "
mkdir -p ${ YTEMP }
# youtube-dl $YTURL
2021-03-02 16:41:50 +01:00
echo " VIDEO $YTURL "
2021-02-24 20:43:47 +01:00
/usr/local/bin/youtube-dl -f '[height=720]/best' \
--write-info-json --write-annotations \
2021-03-09 19:49:17 +01:00
--no-mtime -o " ${ YTEMP } /%(id)s&%(title)s.%(ext)s " $YTURL
2021-02-24 20:43:47 +01:00
# Get filename, extract ID, make destination dir and move copy.
YFILE = $( ls -t ${ YTEMP } | head -n 1)
2021-02-24 22:32:26 +01:00
FILE_NAME = " $( basename " ${ YFILE } " ) "
2021-02-25 00:16:39 +01:00
FILE_EXT = " ${ FILE_NAME ##*. } "
2021-02-24 22:32:26 +01:00
2021-04-04 17:52:53 +02:00
JSON_FILE = $( echo ${ FILE_NAME } | sed " s/ ${ FILE_EXT } /json/g " )
2021-03-09 19:49:17 +01:00
YID = $( echo " ${ FILE_NAME } " | cut -d "&" -f 1)
2021-04-02 19:53:32 +02:00
YNAME = $( echo " ${ FILE_NAME } " | cut -d "&" -f 2- | sed "s/[(][^)]*[)]//g" | sed -e 's/[^A-Za-z0-9._-]/_/g' | sed -e 's/__/_/g' ) # Remove YoutubeID_ and (what is in perentheses)
2021-04-03 00:41:25 +02:00
[ [ $( which detox) ] ] && YNAME = $( echo " ${ FILE_NAME } " | cut -d "&" -f 2- | detox --inline)
2021-09-02 02:09:46 +02:00
MEDIAID = " $REVSOURCE ${ YID } "
2021-04-04 17:52:53 +02:00
TITLE = " ${ YNAME %.* } "
2021-09-02 14:20:25 +02:00
MEDIAKEY = " YOUTUBE_ ${ MEDIAID } "
2021-04-04 17:52:53 +02:00
## CORRECT PARAMETERS to Make Kodi compatible YASTRXBIAN FILE
2021-04-04 21:54:41 +02:00
GENRES = $( zenity --list --checklist --title= "GENRE" --height= ${ haut } \
--text= " Choisissez le(s) genre(s) d'information(s) contenue(s) dans cette vidéo \" ${ TITLE } \" publiée sur OASIS " \
--column= "Use" \
--column= "Feature" \
FALSE Savoir \
FALSE Nature \
FALSE Habiter \
FALSE Nourrir \
FALSE Deplacer \
FALSE Guerir \
FALSE Divertir \
FALSE Musique \
FALSE DIY \
FALSE Science \
FALSE Humain \
FALSE Animal \
TRUE Eveil \
2021-04-04 17:52:53 +02:00
TRUE ${ AXID // /- } )
2021-04-04 21:54:41 +02:00
# FORMAT GENRES genre1|genre2|genre3
2021-04-04 17:52:53 +02:00
2021-09-02 14:20:25 +02:00
FILE_PATH = " $HOME /astroport/youtube/ $MEDIAID "
2021-03-04 00:02:09 +01:00
mkdir -p ${ FILE_PATH } && mv -f ${ YTEMP } /* ${ FILE_PATH } /
2021-04-04 17:52:53 +02:00
# rename FILE_NAME to YNAME (URL clean)
2021-03-30 18:25:52 +02:00
mv " ${ FILE_PATH } / ${ FILE_NAME } " " ${ FILE_PATH } / ${ YNAME } " && FILE_NAME = " ${ YNAME } "
2021-04-06 19:36:43 +02:00
# get & rename video.json
jsonfile = $( ls ${ FILE_PATH } /*.json)
mv " ${ jsonfile } " " ${ FILE_PATH } /video.json "
2021-02-24 20:43:47 +01:00
2021-03-31 22:42:41 +02:00
GROUPES = "_IPNSKEY_" # USE GROUPS TO RECORD IPNS MEDIAKEY
2021-03-30 18:25:52 +02:00
2021-03-04 00:02:09 +01:00
FILE_RES = $( ffprobe -v error -select_streams v:0 -show_entries stream = width,height -of csv = s = x:p= 0 " ${ FILE_PATH } / ${ FILE_NAME } " | cut -d "x" -f 2)
RES = ${ FILE_RES %? } 0p
2021-02-24 22:32:26 +01:00
2021-07-01 23:50:02 +02:00
## CREATE "~/astroport/${CAT}/${MEDIAID}/ajouter_video.txt" and video.json
2021-03-04 21:34:46 +01:00
URLENCODE_FILE_NAME = $( echo ${ FILE_NAME } | jq -Rr @uri)
2021-07-01 23:50:02 +02:00
echo " youtube; ${ MEDIAID } ; ${ YEAR } ; ${ TITLE } ; ${ SAISON } ; ${ GENRES } ; ${ GROUPES } ; ${ RES } ;/ipfs/_IPFSREPFILEID_/ $URLENCODE_FILE_NAME " > ~/astroport/${ CAT } /${ MEDIAID } /ajouter_video.txt
2021-04-04 17:52:53 +02:00
2021-03-04 21:34:46 +01:00
# _IPFSREPFILEID_ is replaced later
2021-02-24 20:43:47 +01:00
rm -Rf ${ YTEMP }
2021-03-04 00:02:09 +01:00
2021-08-06 02:47:07 +02:00
; ;
2021-03-02 16:41:50 +01:00
2021-09-02 22:42:34 +02:00
########################################################################
# CASE ## WEB
web)
zenity --warning --width 600 --text 'DEVELOPPEMENT . ZONE . Please Participate https://git.p2p.legal'
## httrack all web site
[ [ ! $( which httrack) ] ] && zenity --warning --width ${ large } --text "Utilitaire de copie de site web absent.. Lancez la commande 'sudo apt install httrack'" && exit 1
echo " httrack --mirror $URL "
; ;
########################################################################
# CASE ## PAGE
page)
zenity --warning --width 600 --text 'DEVELOPPEMENT . ZONE . Please Participate https://git.p2p.legal'
## record one page only
[ [ ! $( which chromium) ] ] && zenity --warning --width ${ large } --text "Utilitaire de copie de page web absent.. Lancez la commande 'sudo apt install chromium'" && exit 1
cd /tmp/ && rm output.pdf && chromium --headless --no-sandbox --print-to-pdf $URL
TITLE = $( zenity --entry --width 480 --title "Titre" --text "Indiquez le titre de la vidéo" --entry-text= " ${ URL } " )
[ [ $TITLE = = "" ] ] && exit 1
FILE_NAME = " $( echo " ${ TITLE } " | detox --inline) .pdf " ## TODO make it better
MEDIAID = " $REVSOURCE $( echo " ${ TITLE } " | detox --inline) "
MEDIAKEY = " PAGE_ ${ MEDIAID } "
FILE_PATH = " $HOME /astroport/youtube/ $MEDIAID "
mkdir -p ${ FILE_PATH } && mv -f output.pdf ${ FILE_PATH } /${ FILE_NAME }
echo " page; ${ MEDIAID } ; ${ YEAR } ; ${ TITLE } ; ${ SAISON } ; ${ GENRES } ;_IPNSKEY_; ${ RES } ;/ipfs/_IPFSREPFILEID_/ $FILE_NAME " > ~/astroport/${ CAT } /${ MEDIAID } /ajouter_video.txt
; ;
2021-03-02 16:41:50 +01:00
########################################################################
# CASE ## MP3
2021-08-06 02:47:07 +02:00
# _____
# _ __ ___ _ __|___ /
#| '_ ` _ \| '_ \ |_ \
2021-06-17 17:01:55 +02:00
#| | | | | | |_) |__) |
2021-08-06 02:47:07 +02:00
#|_| |_| |_| .__/____/
# |_|
2021-03-02 16:41:50 +01:00
########################################################################
2021-08-06 02:47:07 +02:00
mp3)
2021-03-02 16:41:50 +01:00
2021-09-02 02:09:46 +02:00
zenity --warning --width 600 --text 'DEVELOPPEMENT . ZONE . Please Participate https://git.p2p.legal'
2021-03-10 03:01:09 +01:00
2021-03-02 16:41:50 +01:00
# Create TEMP directory
YTEMP = " /tmp/ $( date -u +%s%N | cut -b1-13) "
mkdir -p ${ YTEMP }
2021-03-04 01:45:58 +01:00
artist = $( zenity --entry --width 400 --title "Extraction MP3 depuis Youtube" --text "Artiste recherché ou Lien Youtube" --entry-text= "" )
2021-03-02 16:41:50 +01:00
[ [ $artist = = "" ] ] && exit 1
## CHECK if artist is LINK or ID
length = ${# artist }
islink = $( echo " $artist " | grep "http" )
2021-03-03 15:33:42 +01:00
if [ [ ! $islink && $length != 11 ] ]
2021-03-02 16:41:50 +01:00
then
2021-08-06 02:47:07 +02:00
# Ask for song name
song = $( zenity --entry --width 300 --title "Titre à chercher sur Youtube" --text "Titre recherché" --entry-text= "" )
[ [ $song = = "" ] ] && exit 1
2021-03-03 15:33:42 +01:00
else
2021-08-06 02:47:07 +02:00
song = $( zenity --entry --width 300 --title "Confirmer ID" --text "Titre recherché (ou confirmer la saisie précédente)" --entry-text= " $artist " )
[ [ " $song " = = " $artist " ] ] && song = ""
2021-03-02 16:41:50 +01:00
fi
2021-03-04 02:04:26 +01:00
# Download mp3 from 1st youtube search video result (--write-info-json)
2021-03-03 15:43:13 +01:00
/usr/local/bin/youtube-dl --default-search ytsearch1: \
2021-03-04 02:04:26 +01:00
--ignore-errors --no-mtime \
2021-03-02 16:41:50 +01:00
--embed-thumbnail --metadata-from-title "%(artist)s - %(title)s" --add-metadata \
2021-03-09 19:49:17 +01:00
--extract-audio --audio-format mp3 -o " ${ YTEMP } /%(id)s&%(title)s.%(ext)s " " $artist $song "
2021-03-02 16:41:50 +01:00
2021-03-04 01:45:58 +01:00
ls ${ YTEMP }
2021-03-02 16:41:50 +01:00
# Get filename, extract ID, make destination dir and move copy.
YFILE = $( ls -t ${ YTEMP } | head -n 1)
FILE_NAME = " $( basename " ${ YFILE } " ) "
FILE_EXT = " ${ FILE_NAME ##*. } "
2021-03-09 19:49:17 +01:00
YID = $( echo " ${ FILE_NAME } " | cut -d "&" -f 1)
2021-04-02 19:53:32 +02:00
YNAME = $( echo " ${ FILE_NAME } " | cut -d "&" -f 2- | sed "s/[(][^)]*[)]//g" | sed -e 's/[^A-Za-z0-9._-]/_/g' | sed -e 's/__/_/g' ) # Remove YoutubeID_ and (what is in perentheses)
2021-09-02 22:42:34 +02:00
[ [ $( which detox) ] ] && YNAME = " $( echo " ${ FILE_NAME } " | cut -d "&" -f 2- | detox --inline) "
2021-03-02 16:41:50 +01:00
2021-03-04 01:45:58 +01:00
[ [ ! $islink && " $song " != "" ] ] && FILE_PATH = " $HOME /astroport/ $CAT / $artist /_o-o_ " \
2021-03-04 00:02:09 +01:00
|| FILE_PATH = " $HOME /astroport/ $CAT / ${ YID } "
2021-03-02 16:41:50 +01:00
2021-03-04 00:02:09 +01:00
mkdir -p " ${ FILE_PATH } " && mv -f ${ YTEMP } /* " ${ FILE_PATH } / "
2021-03-30 18:25:52 +02:00
# Remove "&" from FILE_NAME rename to YNAME
mv " ${ FILE_PATH } / ${ FILE_NAME } " " ${ FILE_PATH } / ${ YNAME } " && FILE_NAME = " ${ YNAME } "
2021-03-02 16:41:50 +01:00
2021-07-01 23:50:02 +02:00
MEDIAID = " ${ YID } "
2021-03-02 16:41:50 +01:00
TITLE = " ${ YNAME %.* } "
2021-03-30 18:28:18 +02:00
GENRES = " [\" $AXID \"] "
2021-03-31 22:42:41 +02:00
GROUPES = "_IPNSKEY_" # USE GROUPS TO RECORD IPNS MEDIAKEY
2021-07-05 16:05:54 +02:00
MEDIAKEY = " MP3_ $MEDIAID "
2021-03-02 16:41:50 +01:00
rm -Rf ${ YTEMP }
2021-03-04 01:45:58 +01:00
# zenity --warning --width ${large} --text "MP3 copié"
echo " ~/.zen/astrXbian/zen/new_mp3_in_astroport.sh \" ${ FILE_PATH } /\" \" ${ FILE_NAME } \" "
2021-07-01 23:50:02 +02:00
~/.zen/astrXbian/zen/new_mp3_in_astroport.sh " ${ FILE_PATH } / " " ${ FILE_NAME } " > /tmp/${ CHOICE } _${ MEDIAID } .log 2>& 1
2021-03-04 02:04:26 +01:00
2021-07-01 23:50:02 +02:00
cat /tmp/${ CHOICE } _${ MEDIAID } .log
2021-03-04 02:04:26 +01:00
2021-03-03 15:36:10 +01:00
exit 0
2021-03-02 16:41:50 +01:00
2021-08-06 02:47:07 +02:00
; ;
2021-03-03 13:10:55 +01:00
2021-01-29 01:09:40 +01:00
########################################################################
2021-08-06 02:47:07 +02:00
# __ _ _
# / _(_) |_ __ ___
#| |_| | | '_ ` _ \
#| _| | | | | | | |
2021-06-17 17:01:55 +02:00
#|_| |_|_|_| |_| |_| THE MOVIE DATABASE INDEX
2021-08-06 02:47:07 +02:00
#
2021-02-24 16:13:19 +01:00
########################################################################
2021-08-06 02:47:07 +02:00
film | serie)
2021-01-29 01:09:40 +01:00
# SELECT FILE TO ADD TO ASTROPORT/KODI
FILE = $( zenity --file-selection --title= "Sélectionner le fichier à ajouter" )
echo " ${ FILE } "
2021-02-18 00:33:06 +01:00
[ [ $FILE = = "" ] ] && exit 1
2021-01-29 01:09:40 +01:00
# Remove file extension to get file name => STITLE
FILE_PATH = " $( dirname " ${ FILE } " ) "
FILE_NAME = " $( basename " ${ FILE } " ) "
FILE_EXT = " ${ FILE_NAME ##*. } "
FILE_TITLE = " ${ FILE_NAME %.* } "
# OPEN default browser and search TMDB
2021-08-06 02:47:07 +02:00
zenity --question --width 300 --text " Ouvrir https://www.themoviedb.org pou récupérer le numéro d'identification de $( echo ${ FILE_TITLE } | sed 's/_/%20/g' ) ? "
[ $? = = 0 ] && xdg-open " https://www.themoviedb.org/search?query= $( echo ${ FILE_TITLE } | sed 's/_/%20/g' ) "
2021-01-29 01:09:40 +01:00
2021-08-06 02:47:07 +02:00
MEDIAID = $( zenity --entry --title= "Identification TMDB" --text= "Indiquez le numéro de la fiche du film. Ex: 301528 pour une adresse https://www.themoviedb.org/movie/301528-toy-story-4)" --entry-text= "" )
2021-07-01 23:50:02 +02:00
[ [ $MEDIAID = = "" ] ] && exit 1
if ! [ [ " $MEDIAID " = ~ ^[ 0-9] +$ ] ]
2021-03-04 21:56:36 +01:00
then
2021-04-02 13:30:36 +02:00
zenity --warning --width ${ large } --text "Vous devez renseigner un numéro! Merci de recommencer... Seules les vidéos référencées sur The Movie Database sont acceptées." && exit 1
2021-03-04 21:56:36 +01:00
fi
2021-07-05 16:05:54 +02:00
MEDIAKEY = " TMDB_ $MEDIAID "
2021-03-04 21:56:36 +01:00
2021-01-29 01:09:40 +01:00
# VIDEO TITLE
TITLE = $( zenity --entry --width 300 --title "Titre" --text "Indiquez le titre de la vidéo" --entry-text= " ${ FILE_TITLE } " )
2021-02-04 02:56:57 +01:00
[ [ $TITLE = = "" ] ] && exit 1
2021-04-02 19:55:04 +02:00
TITLE = $( echo " ${ TITLE } " | sed "s/[(][^)]*[)]//g" | sed -e 's/;/_/g' ) # Clean TITLE (NO ;)
2021-02-18 00:33:06 +01:00
2021-01-29 01:09:40 +01:00
# VIDEO YEAR
2021-02-13 00:40:45 +01:00
YEAR = $( zenity --entry --width 300 --title "Année" --text "Indiquez année de la vidéo. Exemple: 1985" --entry-text= "" )
2021-01-29 01:09:40 +01:00
# VIDEO RESOLUTION
2021-02-17 03:34:10 +01:00
FILE_RES = $( ffprobe -v error -select_streams v:0 -show_entries stream = width,height -of csv = s = x:p= 0 " ${ FILE } " | cut -d "x" -f 2)
RES = ${ FILE_RES %? } 0p # Rounding. Replace last digit with 0
2021-02-13 00:40:45 +01:00
#RES=$(zenity --entry --width 300 --title="Résolution" --text="Résolution de la vidéo" --entry-text="${FILE_RES}" SD HD 4K 360p 480p 720p 1080p)
2021-01-29 01:09:40 +01:00
# VIDEO SEASON or SAGA
2021-06-14 11:20:34 +02:00
[ [ " ${ CAT } " = = "serie" ] ] && SAISON = $( zenity --entry --width 300 --title " ${ CHOICE } Saison " --text "Indiquez SAISON et EPISODE. Exemple: S02E05" --entry-text= "" )
2021-02-13 00:40:45 +01:00
[ [ " ${ CAT } " = = "film" ] ] && SAISON = $( zenity --entry --width 300 --title " ${ CHOICE } Saga " --text "Indiquez une SAGA (optionnel). Exemple: James Bond" --entry-text= "" )
2021-01-29 01:09:40 +01:00
# VIDEO GENRES
FILM_GENRES = $( zenity --list --checklist --title= "GENRE" --height= ${ haut } \
--text= " Choisissez le(s) genre(s) de la vidéo \" ${ TITLE } \" " \
--column= "Use" \
--column= "Feature" \
FALSE '+18' \
FALSE Action\
FALSE Animation\
FALSE 'Arts martiaux' \
FALSE Aventure\
2021-01-31 14:21:59 +01:00
FALSE Autre\
2021-01-29 01:09:40 +01:00
FALSE Biographie\
FALSE Biopic\
FALSE Comedie\
FALSE 'Comedie dramatique' \
FALSE 'Comedie musicale' \
FALSE Crime\
FALSE Documentaire\
FALSE Drame\
FALSE Divers\
2021-01-31 14:21:59 +01:00
FALSE Educatif\
2021-01-29 01:09:40 +01:00
FALSE Enfant\
FALSE 'Epouvante horreur' \
FALSE Espionnage\
FALSE Famille\
FALSE Fantastique\
FALSE Guerre\
FALSE Histoire\
FALSE Historique\
FALSE Judiciaire\
FALSE Opera\
FALSE Medical\
2021-01-31 14:21:59 +01:00
FALSE Musique\
FALSE Mystere\
2021-01-29 01:09:40 +01:00
FALSE Peplum\
FALSE Policier\
FALSE Romance\
FALSE 'Science fiction' \
FALSE Soap\
FALSE Spectacle\
FALSE Sport\
FALSE Telefilm\
FALSE Thriller\
2021-03-09 15:41:52 +01:00
FALSE Western\
2021-03-30 18:28:18 +02:00
TRUE ${ AXID // /- } )
2021-01-29 01:09:40 +01:00
2021-01-31 14:21:59 +01:00
# FORMAT GENRES ["genre1","genre2"]
2021-01-29 01:09:40 +01:00
GENRES = " [\" $( echo ${ FILM_GENRES } | sed s/\| /\" ,\" /g) \"] "
2021-03-30 18:28:18 +02:00
# VIDEO GROUP
# GROUPES=$(zenity --entry --width 300 --title "Groupe" --text "Associez la vidéo à un groupe (optionnel). Exemple: PIXAR" --entry-text="${AXID}")
2021-04-02 13:30:36 +02:00
GROUPES = "_IPNSKEY_" # USE GROUPES TO RECORD MEDIAKEY
2021-01-29 01:09:40 +01:00
2021-02-13 00:40:45 +01:00
# DEBUG VERIFICATION
2021-03-04 00:02:09 +01:00
# zenity --question --width ${large} --title "EMBARQUEMENT ASTROPORT! OK?"\
2021-07-01 23:50:02 +02:00
# --text "${FILE_NAME} (${CAT};${MEDIAID};${YEAR};${TITLE};${SAISON};${GENRES};${GROUPES};${RES})"
2021-03-04 00:02:09 +01:00
# [ $? == 1 ] && echo "ANNULATION." && exit 1
2021-01-29 01:09:40 +01:00
2021-06-14 14:17:42 +02:00
###################################
### MOVING FILE TO ~/astroport ####
###################################
2021-07-01 23:50:02 +02:00
mkdir -p ~/astroport/${ CAT } /${ MEDIAID } /
mv -f " ${ FILE_PATH } / ${ FILE_NAME } " " $HOME /astroport/ ${ CAT } / ${ MEDIAID } / ${ TITLE } . ${ FILE_EXT } "
2021-06-14 14:17:42 +02:00
if [ $? = = 0 ] ; then
2021-08-06 02:47:07 +02:00
zenity --warning --width ${ large } --text " Votre fichier ~/astroport/ ${ CAT } / ${ MEDIAID } / ${ TITLE } . ${ FILE_EXT } est prêt à embarquer. Cliquez sur OK puis patientez quelques minutes... "
2021-06-14 14:17:42 +02:00
else
2021-08-06 02:47:07 +02:00
zenity --warning --width ${ large } --text " Impossible de déplacer votre fichier ${ FILE_PATH } / ${ FILE_NAME } vers ~/astroport - EXIT - "
exit 1
2021-06-14 14:17:42 +02:00
fi
2021-03-02 01:13:25 +01:00
FILE_NAME = " ${ TITLE } . ${ FILE_EXT } "
2021-03-04 21:34:46 +01:00
2021-07-01 23:50:02 +02:00
## CREATE "~/astroport/${CAT}/${MEDIAID}/ajouter_video.txt"
2021-03-04 21:34:46 +01:00
URLENCODE_FILE_NAME = $( echo ${ FILE_NAME } | jq -Rr @uri)
2021-07-01 23:50:02 +02:00
echo " ${ CAT } ; ${ MEDIAID } ; ${ YEAR } ; ${ TITLE } ; ${ SAISON } ; ${ GENRES } ; ${ GROUPES } ; ${ RES } ;/ipfs/_IPFSREPFILEID_/ $URLENCODE_FILE_NAME " > ~/astroport/${ CAT } /${ MEDIAID } /ajouter_video.txt
2021-03-04 21:34:46 +01:00
# _IPFSREPFILEID_ is replaced later
2021-08-06 02:47:07 +02:00
; ;
# _ _
#__ _(_) __| | ___ ___
#\ \ / / |/ _` |/ _ \/ _ \
2021-06-17 17:01:55 +02:00
# \ V /| | (_| | __/ (_) |
2021-08-06 02:47:07 +02:00
# \_/ |_|\__,_|\___|\___/
2021-06-17 17:01:55 +02:00
# TIMESTAMP INDEX
2021-05-23 00:05:20 +02:00
2021-08-06 02:47:07 +02:00
video)
2021-09-02 02:09:46 +02:00
zenity --warning --width 600 --text 'DEVELOPPEMENT. SVP. Inscrivez-vous sur https://git.p2p.legal'
2021-08-06 02:47:07 +02:00
## GENERAL MEDIAKEY for uploaded video. Title + Decription + hashtag + hashipfs
# SELECT FILE TO ADD TO ASTROPORT/KODI
FILE = $( zenity --file-selection --title= "Sélectionner le fichier vidéo à ajouter" )
echo " ${ FILE } "
[ [ $FILE = = "" ] ] && exit 1
# Remove file extension to get file name => STITLE
FILE_PATH = " $( dirname " ${ FILE } " ) "
FILE_NAME = " $( basename " ${ FILE } " ) "
FILE_EXT = " ${ FILE_NAME ##*. } "
FILE_TITLE = " ${ FILE_NAME %.* } "
# VIDEO TITLE
TITLE = $( zenity --entry --width 300 --title "Titre" --text "Indiquez le titre de la vidéo" --entry-text= " ${ FILE_TITLE } " )
[ [ $TITLE = = "" ] ] && exit 1
TITLE = $( echo " ${ TITLE } " | sed "s/[(][^)]*[)]//g" | sed -e 's/;/_/g' ) # Clean TITLE (NO ;)
OUTPUT = $( zenity --forms --width ${ large } --title= "METADATA" --text= "Ajouter des métadonnées" --separator= ";" --add-entry= "Sous titres" --add-entry= "Hashtag(s)" )
[ [ $? != 0 ] ] && echo "FAIL" && exit 1
DESCRIPTION = $( awk -F ';' '{print $1}' <<< $OUTPUT )
HASHTAG = $( awk -F ';' '{print $2}' <<< $OUTPUT )
## video_timestamp INDEX
MEDIAID = " $( date -u +%s%N | cut -b1-13) "
mkdir -p ~/astroport/${ CAT } /${ MEDIAID } /
2021-07-05 16:05:54 +02:00
MEDIAKEY = " VIDEO_ ${ MEDIAID } "
2021-08-06 02:47:07 +02:00
## CREATE SIMPLE JSON
jq -n --arg ts " $MEDIAID " --arg title " $TITLE " --arg desc " $DESCRIPTION " --arg htag " $HASHTAG " '{"timestamp":$ts,"ipfs":"_IPFSREPFILEID_","ipns":"_IPNSKEY_","title":$title,"desc":$desc,"htag":$htag}' > ~/astroport/${ CAT } /${ MEDIAID } /video.json
## MOVE FILE TO IMPORT ZONE
mv -f " ${ FILE_PATH } / ${ FILE_NAME } " " $HOME /astroport/ ${ CAT } / ${ MEDIAID } / ${ TITLE } . ${ FILE_EXT } "
FILE_NAME = " ${ TITLE } . ${ FILE_EXT } "
; ;
2021-06-17 14:49:28 +02:00
2021-08-06 02:47:07 +02:00
# _ _ _
2021-06-17 17:01:55 +02:00
#| | _____ __| (_)
#| |/ / _ \ / _` | |
#| < (_) | (_| | |
#|_|\_\___/ \__,_|_|
# COPY UQLOAD LINKS DETECTED IN KODI LOG
2021-09-02 14:20:25 +02:00
##############################################
### TODO INSTALL FROM START and AUTO SCRAPE KODI LOG
##############################################
2021-08-06 02:47:07 +02:00
kodi)
2021-09-02 14:20:25 +02:00
# OPTION REMOVED
2021-08-06 02:47:07 +02:00
if [ [ ! -f $HOME /.local/bin/uqload_downloader ] ] ; then
cd /tmp
git clone https://github.com/papiche/uqload_downloader.git
cd uqload_downloader/cli
./download_from_kodi_log.sh
[ [ -f $HOME /.local/bin/uqload_downloader ] ] && zenity --warning --width ${ large } --text "INSTALLATION download_from_kodi_log.sh OK"
cp download_from_kodi_log.sh $HOME /.local/bin/
else
## UTILISEZ $HOME/.local/bin/download_from_kodi_log.sh
zenity --warning --width ${ large } --text "UTILISEZ download_from_kodi_log.sh en ligne de commande..."
exit 0
fi
; ;
2021-03-03 13:10:55 +01:00
########################################################################
# CASE ## DEFAULT
########################################################################
2021-08-06 02:47:07 +02:00
*)
zenity --warning --width ${ large } --text " Impossible d'interpréter votre commande $CAT "
exit 1
; ;
2021-02-24 20:43:47 +01:00
esac
2021-01-29 01:09:40 +01:00
########################################################################
# ADD $FILE to IPFS / ASTROPORT / KODI
2021-07-01 23:50:02 +02:00
echo " new_file_in_astroport.sh \" $HOME /astroport/ ${ CAT } / ${ MEDIAID } /\" \" ${ FILE_NAME } \" "
[ [ -f ~/astroport/${ CAT } /${ MEDIAID } /ajouter_video.txt ] ] && cat ~/astroport/${ CAT } /${ MEDIAID } /ajouter_video.txt
2021-09-02 22:42:34 +02:00
# LOG NOISE # [[ -f ~/astroport/${CAT}/${MEDIAID}/video.json ]] && cat ~/astroport/${CAT}/${MEDIAID}/video.json
2021-06-17 17:01:55 +02:00
########################################################################
########################################################################
########################################################################
########################################################################
2021-02-24 20:43:47 +01:00
########################################################################
2021-07-03 16:29:45 +02:00
[ [ " $CAT " = = "film" || " $CAT " = = "serie" ] ] && CHOICE = "TMDB"
2021-07-05 16:05:54 +02:00
~/.zen/astrXbian/zen/new_file_in_astroport.sh " $HOME /astroport/ ${ CAT } / ${ MEDIAID } / " " ${ FILE_NAME } " > /tmp/${ MEDIAKEY } .log 2>& 1
2021-07-07 22:44:32 +02:00
[ ! $? = = 0 ] && zenity --warning --width 300 --text " Désolé une erreur est survenue... Signalez ce log /tmp/ ${ MEDIAKEY } .log sur https://git.p2p.legal/axiom-team/astrXbian " && exit 1
2021-01-29 01:09:40 +01:00
########################################################################
2021-02-24 20:43:47 +01:00
########################################################################
2021-06-17 17:01:55 +02:00
########################################################################
########################################################################
########################################################################
2021-07-05 16:05:54 +02:00
MEDIAPUBKEY = $( cat $HOME /.zen/ipfs/.${ IPFSNODEID } /KEY/${ MEDIAKEY } /MEDIAPUBKEY)
2021-07-01 20:55:29 +02:00
2021-07-03 16:11:15 +02:00
zenity --width= 500 --height= 500 --text-info \
2021-07-05 16:05:54 +02:00
--title= " QR CODE MEDIA ${ MEDIAKEY } (PASS= $( cat /tmp/${ MEDIAKEY } .pass) ) " \
2021-07-03 16:11:15 +02:00
--html \
2021-07-05 16:05:54 +02:00
--url= " http://127.0.0.1:8181/ipns/ ${ IPFSNODEID } /. ${ IPFSNODEID } /KEY/ ${ MEDIAKEY } /QR.png " \
2021-07-03 16:11:15 +02:00
--checkbox= "Je m'engage à respecter les auteurs et promet d'offrir la Monnaie Libre collectée à qui de droit."
2021-07-01 20:55:29 +02:00
########################################################################
2021-07-05 16:05:54 +02:00
echo " # ZENBALANCE for ${ MEDIAKEY } , WALLET $MEDIAPUBKEY "
2021-07-01 20:55:29 +02:00
########################################################################
2021-07-05 16:05:54 +02:00
FILE_SIZE = $( cat $HOME /.zen/ipfs/.${ IPFSNODEID } /KEY/${ MEDIAKEY } /${ G1PUB } /.filesize)
2021-07-03 16:11:15 +02:00
FILE_SIZE = $( echo " ${ FILE_SIZE } " | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }' )
2021-07-01 23:50:02 +02:00
G1BALANCE = $( ~/.zen/astrXbian/zen/jaklis/jaklis.py balance -p $G1PUB ) && [ [ " $G1BALANCE " = = "null" ] ] && G1BALANCE = 0 || G1BALANCE = $( echo " $G1BALANCE " | cut -d '.' -f 1)
if [ [ $G1BALANCE -gt 0 ] ] ; then
2021-07-03 16:11:15 +02:00
G1AMOUNT = $( zenity --entry --width 400 --title " VIRER DE LA MONNAIE LIBRE AU MEDIAKEY (MAX $G1BALANCE ) " --text " Combien de JUNE (G1) souhaitez-vous offrir à ce MEDIA ( $FILE_SIZE ) " --entry-text= "" )
2021-07-01 20:55:29 +02:00
[ [ ! " $G1AMOUNT " = ~ ^[ 0-9] +$ ] ] && G1AMOUNT = 0
2021-07-05 16:05:54 +02:00
~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey pay -p ${ MEDIAPUBKEY } -a $G1AMOUNT -c " #ASTROPORT: ${ MEDIAKEY } DON "
2021-07-01 20:55:29 +02:00
ZENBALANCE = $( echo " 100 * $G1AMOUNT " | bc -l | cut -d '.' -f 1)
else
ZENBALANCE = 0
fi
########################################################################
########################################################################
2021-07-12 23:46:30 +02:00
echo " ${ MEDIAKEY } = RECORDED TO IPFS. "
cat /tmp/${ MEDIAKEY } .log
2021-07-01 20:55:29 +02:00
2021-07-05 16:05:54 +02:00
rm -f /tmp/${ MEDIAKEY } .pass
rm -f /tmp/${ MEDIAKEY } .dunikey ## REMOVE KEYS
2021-07-01 20:55:29 +02:00
2021-07-05 16:05:54 +02:00
[ $? = = 0 ] && zenity --warning --width 300 --text " OK! MEDIA transféré ( $ZENBALANCE ZEN). URL LOCALHOST prête à coller (/tmp/ ${ MEDIAKEY } .log) " && exit 0 \
|| zenity --warning --width 300 --text " Désolé une erreur est survenue... LOG: cat /tmp/ ${ MEDIAKEY } .log " && exit 1