Skip to content

Instantly share code, notes, and snippets.

@benoitjpnet
Created February 2, 2013 15:33
Show Gist options
  • Save benoitjpnet/4697862 to your computer and use it in GitHub Desktop.
Save benoitjpnet/4697862 to your computer and use it in GitHub Desktop.
Scriptus was an old script to automatically add into a webiste Japanese OSTs uploaded/released by Nipponsei group.
#!/bin/bash
####################
#SCRIPTUS #
#Version 2.0a #
#By Benpro #
#[email protected]#
#www.benprobox.fr #
#Date : 27/07/09 #
####################
#VERSION ZIP#
#VAR UTILES#
workdir="/home/animesost/tools/torrents/downloaded" #A changer
ress_readme="/opt/scriptus/readme.txt" #A changer
ress_pubmp3="/opt/scriptus/ads.mp3" #A changer
dirextraitaudio="/home/animesost/public_html/stream/" #A changer
now=$(date +%d/%m/%y)
nowdir=$(date +%d-%m-%y)
coversdir="/home/animesost/public_html/gallery/pics/" #A changer
rename="rename" #prename sur arch, rename sur debian
bashmuploader="/usr/bin/bashmuploader" #A changer
zipdstdir="/home/animesost/public_html/download/files/" #A changer !!
user=""
pass=""
cookies="tmpscriptus/cookies"
#Fonctions#
start() {
while [ $i -lt $tabmax ]
do
echo On traite le zip n° $(($i+1)) : ${T_list_zips[i]}
file=${T_list_zips[i]}
changename
echo "unzip de "$file" en cours"
decompress
echo "Récup des infos,nom ost, auteurs, ..."
recupinfos
echo "Ajout des contenus supp"
addcontent
echo "Copie du mp3 01 pour streaming/extrait"
cpextrait
echo "Ya t'il des images dans l'archive ? (covers)"
istherecovers
echo "Toujours si il y a des covers => On les renomme {NOM_OST}_{ORIGINAL_NAME}.jpg"
renamecovers
echo "Si oui => compression/resize des covers pour une qualité Web"
resizecovers
echo "Déplacement des covers compressé et renommé vers le rép de stockage des covers"
mvcovers
echo "Compression du zip final"
compress
echo "Upload sur MegaUpload"
uploadmu
echo "Coie du zip finale vers le rép de dl."
cpdirdl
echo "Ajout de la fiche de téléchargements/gallerie/news"
addfiche
echo "Supression des fichiers temporaires"
cd ..
rm -rf temp
rm -rf "$file"
i=$(($i+1)) #On passe au zip suivant
done
}
changename() {
#On cherche si le fichier contient [Nipponsei] si oui on renomme
new_file=$(echo $file | sed s'/\[Nipponsei\] //')
ls "$file" | grep -e '\[Nipponsei\] '
if [ $? -eq 0 ]
then
mv -v "$file" "$new_file"
file=$(echo $new_file)
echo "Le fichier comportait [Nipponsei] il a donc été renomée."
else
echo "Le fichier ne comporte pas [Nipponsei] Il n'as dont pas été renomée."
fi
}
decompress() {
unzip -j "$file" -d temp/
cd temp
mkdir tmpscriptus covers
}
recupinfos() {
I_titre=0
I_artiste=1
I_date=2
I_jour=0
I_mois=1
I_annee=2
F_pistes="pistes.srciptus"
T_infos_ost[$I_titre]="$(cat N*.txt | grep Title | cut -b 8- | tr -d ',;:/\r\n')"
T_infos_ost[$I_artiste]="$(cat N*.txt | grep Artist | cut -b 9-)"
T_infos_ost[$I_date]="$(cat N*.txt | grep Street | cut -b 22-)"
T_date[$I_mois]=$(echo ${T_infos_ost[$I_date]} | awk '{ print $1 }')
T_date[$I_jour]=$(echo ${T_infos_ost[$I_date]} | awk '{ print $2 }' | sed s'/,//')
T_date[$I_annee]=$(echo ${T_infos_ost[$I_date]} | awk '{ print $3 }')
awk '/Tracklist:/ , /---/' N*.txt | sed s'/Tracklist://' > tmpscriptus/$F_pistes #Eventuellement kick les -------?
echo Titre: ${T_infos_ost[$I_titre]}
#echo Titre url rewrite : ${T_infos_ost[$I_titre]} | sed y'/ /-/' | tr -d '"&[].'
#titleurlrewrite=$(${T_infos_ost[$I_titre]} | sed y'/ /-/' | tr -d '"&[].')
echo Artiste: ${T_infos_ost[$I_artiste]}
echo Date de sortie de l\'OST: ${T_date[$I_jour]} ${T_date[$I_mois]} ${T_date[$I_annee]}
echo Date d\'ajout sur AnimesOST: $now
echo Pistes:
cat tmpscriptus/$F_pistes
if [ -z "${T_infos_ost[$I_titre]}" ]
then
echo "FAILLLLLLLLL!"
cd ..
fail
fi
}
fail() {
#Echec sur ce zip... On passe au suivant
# rm -rf temp
# i=$(($i+1)) #On passe au zip suivant
# start
exit
}
addcontent() {
cp $ress_readme ./
cp $ress_pubmp3 ./
}
cpextrait() {
extraitaudio=$(ls -1 01*.mp3 | head -n 1)
cp -v "$extraitaudio" $dirextraitaudio
}
istherecovers() {
ls *.jpg
if [ $? -eq 0 ]; then
istherecovers="oui"
else
istherecovers="non"
fi
}
renamecovers() {
if [ $istherecovers = "oui" ]
then
nom_ost_covers=$(echo ${T_infos_ost[$I_titre]} | sed y'/ /_/' | tr -d ',.@!\r')
for numbercover in *.jpg
do
cp -v "$numbercover" covers/"$nom_ost_covers"_"${numbercover#}"
done
cd covers
$rename -v 'y/ /_/' *.jpg #On renomme les espaces en _
pochette=$(ls -l *.jpg | awk '{print $8}' | head -n 1)
fi
}
resizecovers() {
if [ $istherecovers = "oui" ]
then
mogrify -resize 1000x1000 *.jpg
fi
}
mvcovers() {
if [ $istherecovers = "oui" ]
then
mv *.jpg $coversdir
cd ..
#rm -rf covers
fi
}
compress() {
zip "${T_infos_ost[$I_titre]}.zip" -D ./*
taillezip=$(du -hs "${T_infos_ost[$I_titre]}.zip" | awk '{print $1}' | sed s'/M//')
}
uploadmu() {
mulink=$($bashmuploader "${T_infos_ost[$I_titre]}.zip" | grep --only-matching http://www.megaupload.com/?d.*)
echo le lien mu : $mulink
}
cpdirdl() {
mv -v "${T_infos_ost[$I_titre]}.zip" "$zipdstdir"/"$nowdir"
}
addfiche() {
#Infos nécessaires
#Taille
#Titre OST
#Artiste
#Date de sortie
#Date sur AOST
#Thumbs covers
#liens serveur
#liens MU
#Etapes
#Ajout de la catégorie pour les covers
#Ajout fiche de téléchargement dans la bonne catégorie (osts) et lettre
#News ? Utilisation du flux rss
#Auth
curlogin=$(curl -# http://animesost.info/news/news.php -d login="$user" -d password="$pass" -d auto=on -d connect=Se+connecter -c $cookies)
#Récup token
token=$(curl -# http://animesost.info/news/news.php -b $cookies | grep -o "TOKEN = .*" | tr -d '";TOKEN =')
if [ $istherecovers = "oui" ]
then
#Add caterogry
curladdcatgal=$(curl -# http://animesost.info/gallery/admin_gallery_cat_add.php?token=$token -b $cookies -d category=1 -d name="${T_infos_ost[$I_titre]}" -d desc="" -d aprob="1" -d status="1" -d groups_auth1[]="r-1" -d groups_auth1[]="r0" -d groups_auth1[]="r1" -d groups_auth1[]="r2" -d login1="" -d groups_auth2[]="r1" -d groups_auth2[]="r2" -d login2="" -d groups_auth4[]="r2" -d login4="" -d add="Ajouter")
#id + nom de la cat
titreost=$(echo ${T_infos_ost[$I_titre]} | tr -d '\r')
idnomcat=$(curl -# http://animesost.info/gallery/admin_gallery_cat.php -b "$cookies" | grep "$titreost" | grep -o href=.* | awk '{ print $1 }' | sed s'/href=//' | tr -d '"')
echo catégorie gallery : $idnomcat
#Add des covers dans cette categorie
fi
lettreost=$(echo ${T_infos_ost[$I_titre]} | cut -b 1)
if [ $lettreost = "A" ]
then
catdl="15"
fi
if [ $lettreost = "B" ]
then
catdl="16"
fi
if [ $lettreost = "C" ]
then
catdl="17"
fi
if [ $lettreost = "D" ]
then
catdl="18"
fi
if [ $lettreost = "E" ]
then
catdl="19"
fi
if [ $lettreost = "F" ]
then
catdl="20"
fi
if [ $lettreost = "G" ]
then
catdl="21"
fi
if [ $lettreost = "H" ]
then
catdl="22"
fi
if [ $lettreost = "I" ]
then
catdl="23"
fi
if [ $lettreost = "J" ]
then
catdl="24"
fi
if [ $lettreost = "K" ]
then
catdl="25"
fi
if [ $lettreost = "L" ]
then
catdl="26"
fi
if [ $lettreost = "M" ]
then
catdl="27"
fi
if [ $lettreost = "N" ]
then
catdl="28"
fi
if [ $lettreost = "O" ]
then
catdl="29"
fi
if [ $lettreost = "P" ]
then
catdl="30"
fi
if [ $lettreost = "Q" ]
then
catdl="31"
fi
if [ $lettreost = "R" ]
then
catdl="32"
fi
if [ $lettreost = "S" ]
then
catdl="33"
fi
if [ $lettreost = "T" ]
then
catdl="34"
fi
if [ $lettreost = "U" ]
then
catdl="35"
fi
if [ $lettreost = "V" ]
then
catdl="41"
fi
if [ $lettreost = "W" ]
then
catdl="36"
fi
if [ $lettreost = "X" ]
then
catdl="37"
fi
if [ $lettreost = "Y" ]
then
catdl="38"
fi
if [ $lettreost = "Z" ]
then
catdl="39"
fi
catdl=${catdl:-40}
#Generation thumbs
curlgenth=$(curl -# http://animesost.info/gallery/admin_gallery_add.php -b $cookies)
#Ajout fiche de téléchargement dans la bonne catégorie (osts) et lettre
#Création description
echo Artiste: ${T_infos_ost[$I_artiste]} >> tmpscriptus/desc
echo Date de sortie de l\'OST: ${T_date[$I_jour]} ${T_date[$I_mois]} ${T_date[$I_annee]} >> tmpscriptus/desc
echo Date d\'ajout sur AnimesOST: $now >> tmpscriptus/desc
echo Pistes: >> tmpscriptus/desc
cat tmpscriptus/$F_pistes >> tmpscriptus/desc
mp3encoded=$(echo -n "$extraitaudio" | perl -pe's/([^-_.~A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg')
echo "[table][row][col][b]Extrait[/b][/col][col][sound]http%3A%2F%2Fstream.animesost.info%2F"$mp3encoded"[/sound][/col][col]"$extraitaudio"[/col][/row][/table]" >> tmpscriptus/desc
if [ $istherecovers = "oui" ]
then
echo "[url=/gallery/"$idnomcat"]Voir les pochettes.[/url]" >> tmpscriptus/desc
fi
echo "[align=center][url="$mulink"][img]/download/templates/images/download_file_mu.png[/img][/url]" >> tmpscriptus/desc
echo "[url="$mulink"]Télécharger sur Megaupload[/url][/align]" >> tmpscriptus/desc
#Short desc
echo "[table][row][col][b]Extrait[/b][/col][col][sound]http%3A%2F%2Fstream.animesost.info%2F"$mp3encoded"[/sound][/col][col]"$extraitaudio"[/col][/row][/table]" >> tmpscriptus/shortdesc
#Add fiche dl
if [ $istherecovers = "oui" ]
then
curladddl=$(curl -# "http://animesost.info/download/management.php?new=1&token="$token"" -b $cookies -d title="${T_infos_ost[$I_titre]}" -d idcat="$catdl" -d url="http://dl.animesost.info/$nowdir/${T_infos_ost[$I_titre]}.zip" -d size="$taillezip" -d count="0" -d download_method="redirect" -d bb_listcontents="3" -d bb_linescontents="2" -d bb_colscontents="2" --data-urlencode contents@tmpscriptus/desc -d bb_listshort_contents="3" -d bb_linesshort_contents="2" -d bb_colsshort_contents="2" --data-urlencode short_contents@tmpscriptus/shortdesc -d image="http://animesost.info/gallery/pics/thumbnails/"$pochette"" -d creation="$now" -d release_date="$now" -d begining_date="$now" -d end_date="$now" -d visibility="1" -d approved="on" -d submit="Ajouter un fichier" -d token=$token)
else
curladddl=$(curl -# "http://animesost.info/download/management.php?new=1&token="$token"" -b $cookies -d title="${T_infos_ost[$I_titre]}" -d idcat="$catdl" -d url="http://dl.animesost.info/$nowdir/${T_infos_ost[$I_titre]}.zip" -d size="$taillezip" -d count="0" -d download_method="redirect" -d bb_listcontents="3" -d bb_linescontents="2" -d bb_colscontents="2" --data-urlencode contents@tmpscriptus/desc -d bb_listshort_contents="3" -d bb_linesshort_contents="2" -d bb_colsshort_contents="2" --data-urlencode short_contents@tmpscriptus/shortdesc -d image="" -d creation="$now" -d release_date="$now" -d begining_date="$now" -d end_date="$now" -d visibility="1" -d approved="on" -d submit="Ajouter un fichier" -d token=$token)
fi
}
cd $workdir
ls *.zip
if [ $? -eq 0 ]
then
echo "On range les zips dans un tableau"
j=0
for files in *.zip
do
T_list_zips[$j]="$files"
((j=j+1))
done
tabmax=$j
i=0
start
else
echo pas de zip trouvé ... arrêt de scriptus
exit
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment