scripts/dl_plowshare.sh

146 lines
4.4 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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
# -----------------------------------------------------------
# **********************************************************************************************