#!/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 ## GET XZUID [[ "$XZUID" == "" ]] && XZUID=$(cat ~/.zen/ipfs/.${IPFSNODEID}/_xbian.zuid) ######################################################################## # 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 2)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