#! /bin/bash #all variables :P AID="0" ARTIST="" IMG="" OLD="" OLDINFO="" declare -a SARRAY function getArtistName { wget -q --keep-session-cookies --load-cookies=./cookies.txt --save-cookies=./cookies.txt -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" "http://what.cd/artist.php?action=edit&artistid=$AID" -O files/$AID ARTIST=$( grep "

Edit " files/$AID | sed 's/.*id=.*\">\(.*\)<\/a>.*/\1/' ) } function getInfo { wget -q --keep-session-cookies --load-cookies=./cookies.txt --save-cookies=./cookies.txt -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" --no-check-certificate "http://last.fm/music/$ARTIST/+wiki?action=edit" -O - | perl -0777 -lne 'print for m[id="wikitextarea">(.*?)]sg' | perl -0777 -lpe 's/\[.*?]//g' | sed -e 's/\"/\"/g' > information/$AID IMG=$( wget -q --keep-session-cookies --load-cookies=./cookies.txt --save-cookies=./cookies.txt -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" --no-check-certificate "http://last.fm/music/$ARTIST/+wiki?action=edit" -O - | grep imgHolder | grep -o 'src=".*[png|jpg|jpeg|gif]"' | sed 's/src="\(.*\)" alt.*/\1/' ) } function getOldImg { OLD=$( wget -q --keep-session-cookies --load-cookies=./cookies.txt --save-cookies=./cookies.txt -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" --no-check-certificate "http://what.cd/artist.php?action=edit&artistid=$AID" -O - | grep "name=\"image\"" | sed 's/.*value=\"\(.*\)\".*/\1/' ) } function getOldInfo { OLDINFO=$( wget -q --keep-session-cookies --load-cookies=./cookies.txt --save-cookies=./cookies.txt -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" --no-check-certificate "http://what.cd/artist.php?id=$AID" -O - | perl -0777 -lne 'print for m[class="body">(.*?)]sg' ) } function postInfo { getOldImg wget -q --keep-session-cookies --load-cookies=./cookies.txt --save-cookies=./cookies.txt -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" --post-data="body=$( cat ./information/$AID | sed 's/\&/and/g' )&image=$OLD&summary=automatically.generated.description&action=edit" --no-check-certificate "http://what.cd/artist.php?action=edit&artistid=$AID" && rm artist* } function postIMG { wget -q --keep-session-cookies --load-cookies=./cookies.txt --save-cookies=./cookies.txt -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" --post-data="image=$IMG&summary=automatically.generated.image&action=edit" --no-check-certificate "http://what.cd/artist.php?action=edit&artistid=$AID" && rm artist* } function getSimilars { COUNT=0 wget -q http://last.fm/music/$ARTIST -O - | grep " array exec 10&- rm array } function postSimilars { for (( i=0; i<${#SARRAY[@]}; i++ )); do wget -q --keep-session-cookies --load-cookies=./cookies.txt --save-cookies=./cookies.txt -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" --post-data="action=add_similar&artistid=$AID&submit=+&artistname=${SARRAY[i]}" --no-check-certificate "http://what.cd/artist.php?id=$AID" rm artist* SARRAY[$i]="" done } for i in `seq 10066 45000`; do AID=$i getArtistName echo -e "\nArtist: $ARTIST found with AID: $AID" if [ "$ARTIST" != "" ]; then getInfo #the rest is going to go inside a loop that happens if there is last.fm data #that we've downloaded, otherwise we're wasting our time and resources, eh? if [ "$( cat information/$AID )" != "" ]; then getOldImg if [ "$OLD" = "" ]; then if [ "$IMG" != "" ]; then postIMG echo "Added image for $ARTIST" else echo "No image on last.fm!" fi else echo "Image for $ARTIST already exists!" fi getOldInfo if [ "$OLDINFO" = "" ]; then postInfo echo "Added information for $ARTIST" else echo "Information for $ARTIST already exists on what.cd!" fi getSimilars postSimilars echo "Similar Artists for $ARTIST added!" else echo "No information for artist found!" fi fi done