Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so dont bother with any of their useless mail servers here and just use oauth login instead. Thank the nice Russians for causing that. :)
Paste
Pasted as Bash by registered user uwe ( 14 years ago )
#!/bin/bash
# config
savepath="/Users/uwe/Movies/AppleTrailers"
donepath="$savepath/done"
log="$savepath/.appletrailer.log"
trailerurl="http://trailers.apple.com/trailers/home/xml/current_720p.xml"
useragent="QuickTime/7.6.2 (qtver=7.6.2;os=Windows NT 5.1Service Pack 3)"
if [ -n "$log" ]; then
echo "$(date +%F-%T) start" >> $log
fi
# convert xml to something readable ... at least a bit readable
curl -s "$trailerurl" | xml fo - | egrep '<title>|<postdate>|<large filesize' > /tmp/$$
down=0
while read l; do
case ${l:1:1} in
# <title>
t) t="$(echo "$l" | sed 's,<title>,,;s,</title>,,' | tr -d "/'")"
;;
# <postdate>
p) d="$(echo "$l" | sed 's,<postdate>,,;s,</postdate>,,')"
;;
# <preview><large filesize=...
l) # url
url="$(echo "$l" | sed 's,<large[^>]*>,,;s,</large>,,')"
# filename
fn="${url/*\\/}"
# savename (file will be written as this name)
sn="$d $t -- $fn"
# check if file exists
if [ ! -f "$savepath/$sn" -a ! -f "$donepath/$sn" ]; then
if [ -n "$log" ]; then
echo "$(date +%F-%T) get $t -- $fn" >> $log
fi
curl -s -A "$useragent" -o "$savepath/$sn" "$url"
if [ $? -ne 0 ]; then
if [ -n "$log" ]; then
echo "$(date +%F-%T) nok $t -- $fn" >> $log
fi
rm -f "$savepath/$sn"
else
if [ -n "$log" ]; then
echo "$(date +%F-%T) ok $t -- $fn" >> $log
(( down++ ))
fi
fi
fi
;;
esac
done < /tmp/$$
rm -f /tmp/$$
# if something was downloaded, restart the dlna (force)
if [ $down -ne 0 ]; then
/Users/uwe/scripts/update-dlna -f
fi
if [ -n "$log" ]; then
echo "$(date +%F-%T) stop (downloaded $down)" >> $log
fi
Revise this Paste