diff --git a/ajouter_video.sh b/ajouter_video.sh new file mode 100755 index 0000000..bf8a477 --- /dev/null +++ b/ajouter_video.sh @@ -0,0 +1,168 @@ +#!/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 +# +# 1. CAT: film, serie, anime +# 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 +# 6. SAISON: Pour les séries et animes, c'est le numéro de saison. +# Pour un film, le champ SAISON est utilisé pour renseigner la Saga +# 7. GENRES: Action, Aventure, Fantastique, Animation, etc (choix multiple). +# 8. GROUPES: Permet de regrouper des films. (choix multiple) +# +# 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 + +# 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)) + +######################################################################## +# CHECK for Kodi + astroport.py +if [[ -f ~/.zen/astroport.py ]] +then + ## NORMAL behaviour (ISOConfig.sh made the Job) + ## astroport.py already created (refresh vstream plugin,in case update erase it) + cp ~/.zen/astroport.py ~/.kodi/addons/plugin.video.vstream/resources/sites/astroport.py +else + ## astroport.py missing + cp -f ~/.zen/astrXbian/.install/.kodi/addons/plugin.video.vstream/resources/sites/astroport.py ~/.zen/astroport.py + ## CONFIGURE ASTROPORT ACCOUNT + # Make xbian G1BILLET or ASK for it? + zenity --warning --width 300 --text "Vous devez avoir un compte Gchange.fr pour utiliser ASTROPORT / KODI" + zenity --question --width 300 --text "Avez vous déjà un compte sur Gchange.fr ?" + [ $? == 1 ] && xdg-open "https://gchange.fr" + + #sed -i "s/_PROFIL_/$XZUID/g" ~/.zen/astroport.py + #sed -i "s/_LOGIN_/$salt/g" ~/.zen/astroport.py + #sed -i "s/_MDP_/$pepper/g" ~/.zen/astroport.py + IPFSNODEID=$(ipfs id -f='\n') + sed -i "s/_IPFSNODEID_/$IPFSNODEID/g" ~/.zen/astroport.py + cp ~/.zen/astroport.py ~/.kodi/addons/plugin.video.vstream/resources/sites/astroport.py +fi + +######################################################################## +# SELECT FILE TO ADD TO ASTROPORT/KODI +FILE=$(zenity --file-selection --title="Sélectionner le fichier à ajouter") +echo "${FILE}" + +# 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 +zenity --question --width 300 --text "Ouvrir le site themoviedb pour récuperer son numéro d'identification?" +[ $? == 1 ] && exit 1 +xdg-open "https://www.themoviedb.org/search?query=${FILE_TITLE}" + +TMDB=$(zenity --entry --title="Identification TMDB" --text="Indiquez le numéro de la fiche du film. Exemple: https://www.themoviedb.org/movie/301528-toy-story-4 = 301528" --entry-text="") + +# CHOOSE CATEGORY +CHOICE=$(zenity --entry --width 300 --title="Catégorie" --text="Choisissez la catégorie de la vidéo" --entry-text="Film" Serie Anime) +# LOWER CARACTERS +CAT=$(echo "${CHOICE}" | awk '{print tolower($0)}') +PREFIX=$(echo "${CAT}" | head -c 1 | awk '{ print toupper($0) }' ) # ex: F, S, A + +# VIDEO TITLE +TITLE=$(zenity --entry --width 300 --title "Titre" --text "Indiquez le titre de la vidéo" --entry-text="${FILE_TITLE}") + +# VIDEO YEAR +YEAR=$(zenity --entry --width 300 --title "Année" --text "Indiquez année de la vidéo. Exemple: 1972" --entry-text="") + +# VIDEO RESOLUTION +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 1)p +RES=$(zenity --entry --width 300 --title="Résolution" --text="Indiquez la résolution de la vidéo" --entry-text="${FILE_RES}" 720p 1080p SD HD 4K) + +# VIDEO SEASON or SAGA +[[ "${CAT}" == "serie" || "${CAT}" == "anime" ]] && SAISON=$(zenity --entry --width 300 --title "${CHOICE} Saison" --text "Indiquez SAISON et EPISODE. Exemple: S02E05" --entry-text="") +[[ "${CAT}" == "film" ]] && SAISON=$(zenity --entry --width 300 --title "${CHOICE} Saga" --text "Indiquez la SAGA (optionnel). Exemple: James Bond" --entry-text="") + +# 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\ + FALSE Biographie\ + FALSE Biopic\ + FALSE Comedie\ + FALSE 'Comedie dramatique'\ + FALSE 'Comedie musicale'\ + FALSE Crime\ + FALSE Documentaire\ + FALSE Drame\ + FALSE Divers\ + FALSE Enfant\ + FALSE 'Epouvante horreur'\ + FALSE Espionnage\ + FALSE Famille\ + FALSE Fantastique\ + FALSE Guerre\ + FALSE Histoire\ + FALSE Historique\ + FALSE Judiciaire\ + FALSE Opera\ + FALSE Musique\ + FALSE Medical\ + FALSE Peplum\ + FALSE Policier\ + FALSE Romance\ + FALSE 'Science fiction'\ + FALSE Soap\ + FALSE Spectacle\ + FALSE Sport\ + FALSE Telefilm\ + FALSE Thriller\ + FALSE Western) + +GENRES="[\"$(echo ${FILM_GENRES} | sed s/\|/\",\"/g)\"]" + +# VIDEO GROUP +GROUPES=$(zenity --entry --width 300 --title "Groupe" --text "Associez la vidéo à un groupe (optionnel). Exemple: PIXAR" --entry-text="") + +# VERIFICATION +zenity --question --width ${large} --title "Vérifiez les informations: CAT; TMDB; YEAR; TITLE; SAISON; GENRES; GROUPES; RES"\ + --text "${CAT}; ${TMDB}; ${YEAR}; ${TITLE}; ${SAISON}; ${GENRES}; ${GROUPES}; ${RES}" + +######################################################################## +# ADD $FILE to IPFS / ASTROPORT / KODI +######################################################################## +if [ $? = 0 ] +then + echo "OK! C'est parti... ajout de ${TITLE} dans ASTROPORT/KODI" + zenity --warning --width 300 --text "Ajout de votre ${CAT} ${TITLE} dans ASTROPORT" + NEWSHARE=$(ipfs add -wq "${FILE}" | tail -n 1) + [[ $NEWSHARE == "" ]] && echo "ipfs add ERROR" && exit 1 + mkdir -p ~/.zen/ipfs/xbian + +else + echo "NON ! ANNULATION." +fi +