From Wikipedia, the free encyclopedia
###############################################################
## This rather sad script is released into the public domain ##
## by its author, James Pearson (Xiong Chiamiov) ##
###############################################################
#! /bin/bash
## get list of images
# $(date +%Y%m%d%H%M%S --date=-7days) is current date minus 7 days
wget http://en.wikipedia.org/w/index.php?title=Special:Imagelist\&offset=$(date +%Y%m%d%H%M%S --date=-7days)\&limit=5\&sort=img_timestamp\&desc=1 -O imagelist -T 15 --waitretry=15
## extract out images from file
# get only the lines that have images in them
sed -n '/TablePager_col_img_name/p' imagelist > imagelist2
# cut the crap before the image address
sed -e 's/.*http/http/g' imagelist2 > imagelist
# and after it
sed -e 's/".*$//g' imagelist > imagelist2
# then remove anything that's not a jpg or png
egrep 'jpg|JPG|png|PNG' imagelist2> imagelist
## put images in an array
Lines=0
exec 3<> imagelist
while read line <&3
do {
a[$Lines]=$line
#echo ${a[$Lines]}
(( Lines++ ));
}
done
exec 3>&-
echo "-----------------------------"
echo "Number of lines read = $Lines"
# this is the minimum difference in file size between old and new to upload new version
mindiff=25600 # 25kB
for i in "${a[@]}"
do {
echo
echo $i
wget $i -P wp_temp -T 15 --waitretry=15 # get the image and put it in temp folder
oldsize=$(stat -c%s wp_temp/*) # get the size of the image
declare -i oldsize # make sure it's evaluated as an integer
if [[ $i =~ .*(jpg|JPG) ]]
then
jpegoptim -t wp_temp/*
filesize=$(stat -c%s wp_temp/*) # get the size of the image
declare -i filesize # make sure it's evaluated as an integer
if (( ("$oldsize" - "$filesize") > "$mindiff" ))
then
python upload.py -log -noverify -keep -putthrottle:15 wp_temp/* "losslessly optimized using [[jpegoptim]]"
else
echo
echo "not optimized"
fi
elif [[ $i =~ .*(png|PNG) ]]
then
optipng wp_temp/*
filesize=$(stat -c%s wp_temp/*) # get the size of the image
declare -i filesize # make sure it's evaluated as an integer
if (( ("$oldsize" - "$filesize") > "$mindiff" ))
then
python upload.py -log -noverify -keep -putthrottle:15 wp_temp/* "losslessly optimized using [[optipng]]"
else
echo
echo "not optimized"
fi
fi
rm wp_temp/* # remove the image we were working on
echo
}
done
## clean up
rm imagelist*
exit 0