146 lines
4.4 KiB
Bash
Executable File
146 lines
4.4 KiB
Bash
Executable File
#!/bin/bash
|
||
################################################################################################
|
||
##
|
||
## Nom: dl_plowshare.sh
|
||
##
|
||
## Version: 0.1
|
||
##
|
||
## Licence: Creative Commons
|
||
##
|
||
## Comportement: Analyse un répertoire pour savoir si il contient un fichier .down qui
|
||
## contiendra des liens ddl (megaupload, DL_FILE). Créée un dossier du même nom que le fichier et
|
||
## y télécharge les liens qu'il contient avec plowshare. Change ensuite l'extension du fichier
|
||
## en .old pour qu'il ne soit pas retéléchargé.
|
||
##
|
||
## /!\ Changer la variable DL_DIR /!\
|
||
##
|
||
## Appliquer une tache cron du style:
|
||
## */2 * * * * /chemin/script/dl_plowshare.sh
|
||
##
|
||
##
|
||
##
|
||
################################################################################################
|
||
##
|
||
## Date de création: 03-10-2011
|
||
##
|
||
## Auteur: Gardouille
|
||
##
|
||
##
|
||
## Dernière modifications:
|
||
## 03-10-2011 - 0.1:
|
||
## -
|
||
# **********************************************************************************************
|
||
## //2011 - :
|
||
## -
|
||
## -
|
||
# **********************************************************************************************
|
||
##
|
||
## À modifier:
|
||
## - Possibilité de récupérer le répertoire à analyser en argument
|
||
##
|
||
##
|
||
################################################################################################
|
||
|
||
|
||
|
||
# **********************************************************************************************
|
||
#
|
||
# Variables globales
|
||
#
|
||
# -----------------------------------------------------------
|
||
# Fichier temporaire pour savoir si le script est déjà en cours
|
||
TMP_FILE="/tmp/dl_plowshare"
|
||
# Répertoire à analyser pour trouver un fichier contenant une liste de lien
|
||
DL_DIR="/media/data/download/ddl"
|
||
# Nom du fichier (sans l'extension) contenant les liens à télécharger
|
||
#BASE_DL_FILE=""
|
||
# Extension de fichier à analyser
|
||
EXTENSION="down"
|
||
|
||
# Fin des variables globales
|
||
# -----------------------------------------------------------
|
||
# **********************************************************************************************
|
||
|
||
|
||
# **********************************************************************************************
|
||
#
|
||
# Fichiers globaux
|
||
#
|
||
# -----------------------------------------------------------
|
||
#
|
||
|
||
# Fin des fichiers globaux
|
||
# -----------------------------------------------------------
|
||
# **********************************************************************************************
|
||
|
||
|
||
# **********************************************************************************************
|
||
#
|
||
# Fonctions globales
|
||
#
|
||
# -----------------------------------------------------------
|
||
# Divers echos DL_FILE
|
||
echoi() { echo " (ii) $*" >> "${log}" ; }
|
||
echok() { echo " (ok) $*" >> "${log}" ; }
|
||
echow() { echo " (!!) $*" >> "${log}" ; }
|
||
echnk() { echo " (EE) $*" >> "${log}" ; }
|
||
|
||
# Fin des fonctions globales
|
||
# -----------------------------------------------------------
|
||
# **********************************************************************************************
|
||
|
||
|
||
|
||
# **********************************************************************************************
|
||
#
|
||
# Programme principale
|
||
#
|
||
# -----------------------------------------------------------
|
||
|
||
## Vérifier que le script n'est pas déjà en cours
|
||
if [ ! -f "${TMP_FILE}" ]; then
|
||
|
||
|
||
## Créer un fichier temporaire pour indiquer que le script est en cours d'exécution
|
||
touch "${TMP_FILE}"
|
||
|
||
## Se placer dans le dossier à analyser
|
||
pushd "${DL_DIR}" > /dev/null
|
||
|
||
## Analyser le dossier pour récupérer UN fichier .down (nom de base + extension)
|
||
DL_FILE=`\ls | \grep ."${EXTENSION}"|head -n 1`
|
||
|
||
## Récupérer le nom du fichier (sans extension)
|
||
BASE_DL_FILE=${DL_FILE%.*}
|
||
|
||
## Créer un dossier du même nom et se placer dedans
|
||
mkdir "${BASE_DL_FILE}"
|
||
pushd "${DL_DIR}"/"${BASE_DL_FILE}" > /dev/null
|
||
|
||
## Déplacer le fichier .down dans le dossier
|
||
mv "${DL_DIR}"/"${DL_FILE}" .
|
||
|
||
## Lancer le téléchargement en passant en argument le fichier .down
|
||
plowdown -m "${DL_FILE}"
|
||
|
||
## Ressortir du dossier de téléchargement
|
||
popd > /dev/null
|
||
|
||
## Ressortir de l'emplacement à analyser
|
||
popd > /dev/null
|
||
|
||
## Supprimer le fichier temporaire
|
||
rm "${TMP_FILE}"
|
||
|
||
else
|
||
## Script déjà en cours
|
||
echo "Script de téléchargement déjà en cours."
|
||
fi
|
||
|
||
exit 0
|
||
# Fin de la boucle principale
|
||
# -----------------------------------------------------------
|
||
# **********************************************************************************************
|
||
|
||
|