Skip to content

Instantly share code, notes, and snippets.

@benoitjpnet
Created February 2, 2013 15:36
Show Gist options
  • Save benoitjpnet/4697872 to your computer and use it in GitHub Desktop.
Save benoitjpnet/4697872 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/sh
#Upload auto for animesost
#benrpo - 27-08-08
#Variables
ftp_user=""
ftp_password=""
ftp_host="animesost.info"
http_user=""
http_pass=""
#On commence le code de dingue 0_o
#On demande le nom du fichier
#echo "Quel est le nom du fichier zip ?"
#On lit le nom de ce fichier
#read file
#Vérif des zips
cd /home/animesost/tools/torrents/downloaded
ls *.zip
if [ $? -eq 0 ]; then
echo "On commence les ajouts d'OSTs"
for i in *.zip
do
file=$i
#cp -v "$file" "/home/SI_280/MP3s"
#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
#On cherche si le fichier contient des [ ou ] si oui on renomme
new_file=$(echo $file | sed s'/\[//' | sed s'/\]//')
ls "$file" | grep -e '\['
if [ $? -eq 0 ]; then
mv -v "$file" "$new_file"
file=$(echo $new_file)
echo "Le fichier comportait des [] il a donc été renomée."
else
echo "Le fichier ne comporte pas de [] Il n'as dont pas été renomée."
fi
#On cherche si le fichier contient des & si oui on renomme
new_file=$(echo $file | sed s'/&/ and /')
ls "$file" | grep -e '&'
if [ $? -eq 0 ]; then
mv -v "$file" "$new_file"
file=$(echo $new_file)
echo "Le fichier contenait un ou plusieurs & ils ont donc été supprimée(s)"
else
echo "Le fichier ne comportait pas de & il n'as don pas été renomée"
fi
echo "Dézippage en cours"
#On le dézippe
unzip -j "$file" -d temp/
#On rentre dans dossier temp crée par unzip
cd temp
#On regarde si y'a un jpg ou plus
jpg=$(ls *.jpg)
#Si il ya des fichiers placer jpg à oui sinon jpg = non
if [ $? -eq 0 ]; then
jpg="oui"
else
jpg="non"
fi
#Si jpg = oui on resiez les jpg
if [ $jpg = oui ]; then
echo "Resize des images"
mogrify -resize 1000x1000 *.jpg
else
echo "Pas de jpg détecté, il n'y aura donc pas de covers."
fi
echo "Placement du readme & ads.mp3"
cp ../readme.txt ./
cp ../ads.mp3 ./
echo "Zippage en cours."
zip "$file" ./*
#On défini le nom covers avec le nom de fichier sans le zip
covers=$(echo $file | sed s/.zip//)
echo "Création du dossier tempzip"
mkdir tempzip
echo "Déplacement du zip dans tempzip"
mv -v "$file" tempzip/
echo "Création du dossier tempaudio"
mkdir tempaudio
echo "Déplacement de la piste 1 dans tempaudio"
mv -v 01*.mp3 tempaudio/
#Si jpg = oui on les renommes et les upload
if [ $jpg = "oui" ]; then
echo "Création du dossier tempimages"
mkdir tempimages
echo "Déplacement des images dans le dossier tempimages"
mv -v *.jpg tempimages/
cd tempimages/
echo "Rename des images/covers"
#On remplaces les espaces par des _
rename 'y/ /_/' *.jpg
#On rajoute la valeur de $covers avant le nom du jpg
for i in *.jpg; do mv -v $i "$covers"_${i#} ;done
rename -v 'y/ /_/' *.jpg
#On met en valeur le premier jpg
img1=$(ls -l | awk '{print $8}' | head -2 | sed '/^$/d')
echo "Placement des covers sur le ftp"
ncftpput -u "$ftp_user" -p "$ftp_password" $ftp_host public_html/gallery/pics ./*
#On sort de tempimages
cd ..
else
echo "Pas de jpg, donc pas d'upload"
fi
cd tempzip/
#On défénie la date au format JJ-MM-AA, format du ftp
date=$(date +%d-%m-%y)
echo "Placement du zip sur le ftp"
ncftpput -u "$ftp_user" -p "$ftp_password" $ftp_host public_html/download/files/$date ./*
cd ../tempaudio/
#On récupere le nom de fichier de l'extrait
extrait=$(ls ./* | sed s'/.\///')
#On récupere le nom de fichier de l'extrait sans le suffixe .mp3
extrait_t=$(echo $extrait | sed s'/.mp3//')
echo "Placement de l'extrait sur le ftp"
ncftpput -u "$ftp_user" -p "$ftp_password" $ftp_host public_html/music/music1/mp3 ./*
cd ..
echo "Création des fiches"
echo "Authentification en cours sur AnimesOST"
#On s'authentifie sur AnimesOST
curl http://animesost.info/news/news.php -d login="$http_user" -d password="$http_pass" -d auto=on -d connect=Se+connecter -c cookies
echo "Authentification terminée."
if [ $jpg = "oui" ]; then
echo "Création de la catégorie pour les covers"
curl "http://animesost.info/gallery/admin_gallery_cat_add.php" -d category=1 -d name="$covers" -d desc= -d aprob=1 -d status=1 -d groups_authr[]="r-1" -d groups_authr[]=r0 -d groups_authr[]=r1 -d groups_authr[]=r2 -d groups_authr[]=1 -d groups_authr[]=2 -d groups_authw[]=r2 -d groups_authx[]=r2 -d add=Ajouter -b cookies
#On grep l'id
echo_covers=$(echo $covers)
gallery_cat=$(curl "http://animesost.info/gallery/admin_gallery_cat.php" -b cookies | grep "$echo_covers" | sed '/^$/d' | awk '{print $7}' | cut -b 15- |
cut -b -3)
echo "Creation des miniatures php"
curl "http://animesost.info/gallery/admin_gallery_add.php" -b cookies
echo "Ajout des images dans la cat, ///PAS ENCORE ///"
#HERE CODE
else
echo "Pas de jpg, la création de catégorie n'est donc pas effectué."
fi
echo "Ajout de la fiche de téléchargement"
#On regarde quelle taille fait le zip
taille=$(du -hs tempzip/*.zip)
#On enlève le M de Méga
taille_ok=$(echo $taille | awk '{print $1}' | sed s'/M//')
#On commence à créer la description de la fiche de téléchargement
#On escape le titre pour l'url rewriting propre ;)
covers_escape=$(echo $covers | sed y'/ /_/')
#On chope le titre
echo "[b][color=#800080]" >> desc
cat N*.txt | grep Title >> desc
echo "[/color][/b]" >> desc
#Si jpg = oui, on crée le bon texte, sinon on balance dans la description qu'il n'y a pas de covers/pochettes
if [ $jpg = "oui" ]; then
echo "[img]http://animesost.info/gallery/pics/thumbnails/"$img1"[/img]" >> desc
echo "[url=http://animesost.info/gallery/gallery-"$gallery_cat"+"$covers_escape".php]Voir les pochettes.[/url]" >> desc
else
echo "[i]Cover non disponible.[/i]" >> desc
echo "[i]Pas de pochettes disponibles.[/i]" >> desc
fi
#On récupère l'artiste
cat N*.txt | grep Artist >> desc
#On récupère la date de sortie
cat N*.txt | grep Street >> desc
#On rend jolie le texte et on ajoute du bordel :p
echo "" >> desc
echo "------------------------------------" >> desc
echo "" >> desc
#On récupère les pistes
echo "[b]Pistes:[/b]" >> desc
awk '/Tracklist:/ , /---/' N*.txt | sed s'/Tracklist://' >> desc
echo "" >> desc
#On place l'extrait
echo "[table][row][col][b]Extrait[/b][/col][col][sound]http://stream.animesost.info/"$extrait"[/sound][/col][col]"$extrait_t"[/col][/row][/table]" >> desc
curl "http://animesost.info/download/admin_download_add.php" -d title="$covers" -d idcat=7 --data-urlencode url=http://dl.animesost.info/"$date"/"$file" -d size="$taille_ok" -d compt=0 --data-urlencode contents@desc -d start= -d end= -d visible=1 -d current_date= -d hour= -d min= -d valid=Envoyer -b cookies
#On récupère l'id de la fiche de DL
id_dl=$(curl "http://animesost.info/download/admin_download.php" -b cookies | grep "../download/download.php?cat=7&id=" | head -1 | cut -b 53- | cut -b -4)
echo "Ajout de la fiche pour news"
#On remplit la fiche avec le titre de l'ost ici $covers
echo "[b][color=#800080]Ajout de "$covers"[/color][/b]" >> desc_news
echo "---" >> desc_news
#Si jpg = oui, on crée le bon texte, sinon on balance dans la description qu'il n'y a pas de covers/pochettes
if [ $jpg = "oui" ]; then
echo "[img]http://animesost.info/gallery/pics/thumbnails/"$img1"[/img]" >> desc_news
echo "[url=http://animesost.info/gallery/gallery-"$gallery_cat"+"$covers_escape".php]Voir les pochettes.[/url]" >> desc_news
else
echo "[i]Cover non disponible.[/i]" >> desc_news
echo "[i]Pas de pochettes disponibles.[/i]" >> desc_news
fi
echo "[url=http://animesost.info/download/download-7-"$id_dl"+"$covers_escape".php]Télécharger.[/url]" >> desc_news
echo "---" >> desc_news
echo "ENJOY ;)" >> desc_news
curl "http://animesost.info/news/admin_news_add.php" -d title=Ajout+de+"$covers" -d idcat=2 --data-urlencode contents@desc_news -d extend_contents= -d start= -d end= -d visible=1 -d current_date= -d hour= -d min= -d archive=0 -d img= -d alt= -d valid=Envoyer -b cookies
echo "On efface tout ce qui est temporaire"
rm -rf *
cd ..
rm "$file"
#On se déco du site
echo "on se déco d'animesost"
curl "http://animesost.info/member/member.php?disconnect=true" -b cookies
#On visite les pages pour le mettre dans le log apache & générer le sitemap
curl "http://animesost.info/download/download-7-"$id_dl"+"$covers_escape".php"
curl "http://animesost.info/gallery/gallery-"$gallery_cat"+"$covers_escape".php"
echo "J'ai fini Chef! Vérfifez si tout est ok sur le site ;)"
done
else
echo "Pas de zip, tu veut que je fasse quoi T_T"
fi
#THE END, Ouf enfin =)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment