Skip to content

Instantly share code, notes, and snippets.

@leotsem
Created May 10, 2010 19:39
Show Gist options
  • Save leotsem/396433 to your computer and use it in GitHub Desktop.
Save leotsem/396433 to your computer and use it in GitHub Desktop.
#!/bin/bash
# v.0.5
# based on http://majjix.com/2008/10/13/luke/automatically-downloading-quicktime-trailers-and-posters/appletrailers-0-5
GETHD=1
GETPOSTER=1
KEEPDAYS="30"
SAVEPATH="/xtreamer_pickup/Downloads/Trailers/"
DLDBPATH="/home/goldstein/Scripts/"
FEEDS="http://www.apple.com/trailers/home/xml/current_720p.xml http://www.apple.com/trailers/home/xml/current.xml"
umask 0002
find /xtreamer_pickup/Downloads/Trailers/*mov -mtime +$KEEPDAYS -exec rm {} \;
tail -5000 $DLDBPATH.appletrailers.db > $DLDBPATH.appletrailers.db.tmp; mv $DLDBPATH.appletrailers.db.tmp $DLDBPATH.appletrailers.db
for FEEDURL in $FEEDS; do
TRAILERS=`xml sel --net -D -T -t -m "/records/movieinfo"\
-v "@id" -o ";"\
-v "info/postdate" -o ";"\
-v "preview/large" -o ";"\
-v "poster/xlarge"\
-n $FEEDURL`
for MOVIE in $TRAILERS; do
MOVIEID=`echo $MOVIE | awk 'BEGIN { FS = ";" } ; { print $1 }'`
POSTDATE=`echo $MOVIE | awk 'BEGIN { FS = ";" } ; { print $2 }'`
PREVIEW=`echo $MOVIE | awk 'BEGIN { FS = ";" } ; { print $3 }'`
PREVIEWFILE=`echo $PREVIEW |sed 's/.*\///'`
NEWPREVIEWNAME="$POSTDATE-$PREVIEWFILE"
DLDBPREVIEWNAME=`echo $NEWPREVIEWNAME | sed -e 's/_.720p//g' -e 's/_.640w//g' -e 's/\.m.v$//g'`
POSTER=`echo $MOVIE | awk 'BEGIN { FS = ";" } ; { print $4 }'`
NEWPOSTERNAME=`echo $NEWPREVIEWNAME |sed -e 's/\.m.v$/.jpg/g'`
DLDBPOSTERNAME=`echo $NEWPOSTERNAME | sed -e 's/_.720p//g' -e 's/_.640w//g' -e 's/_.1080p//g' -e 's/\.m.v$//g' -e 's/\.jpg$//g'`
if [ "$GETHD" -eq "1" ]; then
# if `echo $FEEDURL | grep -q 720p`; then
if ! grep -q "###$MOVIEID.PREVIEW### ###$DLDBPREVIEWNAME###" $DLDBPATH.appletrailers.db; then
PREVIEW1080p=`echo $MOVIE | awk 'BEGIN { FS = ";" } ; { print $3 }' |sed -e 's/_.720p\.m.v$/_h1080p.mov/g' -e 's/_.640w\.m.v$/_h1080p.mov/g'`
PREVIEWFILE1080p=`echo $PREVIEW1080p |sed 's/.*\///'`
NEWPREVIEWNAME1080p="$POSTDATE-$PREVIEWFILE1080p"
wget -U "QuickTime/7.6.2" -c -O $SAVEPATH$NEWPREVIEWNAME1080p $PREVIEW1080p
if [ $? -eq 0 ]; then
echo "###$MOVIEID.PREVIEW### ###$DLDBPREVIEWNAME###" >> $DLDBPATH.appletrailers.db
NEWPOSTERNAME=`echo $NEWPOSTERNAME |sed -e 's/_.720p\.jpg$/_h1080p.jpg/g' -e 's/_.640w\.jpg$/_h1080p.jpg/g'`
else
echo "##### ID:$MOVIEID URL:$PREVIEW1080p FAILED -- TRYING ORIGINAL URL NEXT"
rm $SAVEPATH$NEWPREVIEWNAME1080p
fi
fi
# fi
fi
if ! grep -q "###$MOVIEID.PREVIEW### ###$DLDBPREVIEWNAME###" $DLDBPATH.appletrailers.db; then
wget -U "QuickTime/7.6.2" -c -O $SAVEPATH$NEWPREVIEWNAME $PREVIEW
if [ $? -eq 0 ]; then
echo "###$MOVIEID.PREVIEW### ###$DLDBPREVIEWNAME###" >> $DLDBPATH.appletrailers.db
else
echo "##### ID:$MOVIEID URL:$PREVIEW FAILED -- RETRY NEXT RUN"
fi
else
echo "##### ID:$MOVIEID NAME:$NEWPREVIEWNAME MARKED DONE"
fi
if [ "$GETPOSTER" -eq "1" ]; then
if ! grep -q "###$MOVIEID.POSTER### ###$DLDBPOSTERNAME###" $DLDBPATH.appletrailers.db; then
wget -U "QuickTime/7.6.2" -c -O $SAVEPATH$NEWPOSTERNAME $POSTER
if [ $? -eq 0 ]; then
echo "###$MOVIEID.POSTER### ###$DLDBPOSTERNAME###" >> $DLDBPATH.appletrailers.db
else
echo "##### $ID:$MOVIEID URL:$POSTER FAILED -- RETRY NEXT RUN"
fi
else
echo "##### ID:$MOVIEID NAME:$NEWPOSTERNAME MARKED DONE"
fi
fi
done
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment