From fa1a4afdb396c6101540c03e47a248f54dadd60c Mon Sep 17 00:00:00 2001 From: rembo10 Date: Mon, 25 Jun 2012 22:44:20 +0530 Subject: [PATCH] Initial changes to the default template to use the cache --- data/interfaces/default/artist.html | 39 ++++++- data/interfaces/default/base.html | 7 +- data/interfaces/default/index.html | 5 +- data/interfaces/default/js/script.js | 157 ++++++++++----------------- 4 files changed, 94 insertions(+), 114 deletions(-) diff --git a/data/interfaces/default/artist.html b/data/interfaces/default/artist.html index e234475b..c385683b 100644 --- a/data/interfaces/default/artist.html +++ b/data/interfaces/default/artist.html @@ -27,7 +27,7 @@ <%def name="body()">
- ${artist['ArtistName']} + ${artist['ArtistName']}

%if artist['Status'] == 'Loading': @@ -109,7 +109,7 @@ %> - + ${album['AlbumTitle']} ${album['ReleaseDate']} ${album['Type']} @@ -148,11 +148,41 @@ - - - + + + ${next.javascriptIncludes()} diff --git a/data/interfaces/default/index.html b/data/interfaces/default/index.html index 218f2303..16a97a30 100644 --- a/data/interfaces/default/index.html +++ b/data/interfaces/default/index.html @@ -74,11 +74,10 @@ function getArtistArt() { $("table#artist_table tr td#name").each(function(){ var id = $(this).children('a').attr('title'); - var artist = $(this).children('a').text(); var image = $(this).parent().find("td#albumart img"); if ( !image.hasClass('done') ) { image.addClass('done'); - getArtistInfo(artist,image,1,id); + getThumb(image,id,'artist'); } }); } @@ -114,4 +113,4 @@ }); - \ No newline at end of file + diff --git a/data/interfaces/default/js/script.js b/data/interfaces/default/js/script.js index 15b379d2..5688063a 100644 --- a/data/interfaces/default/js/script.js +++ b/data/interfaces/default/js/script.js @@ -1,110 +1,65 @@ -function getArtistInfo(name,imgElem,size,artistID) { - var apikey = "690e1ed3bc00bc91804cd8f7fe5ed6d4"; +function getThumb(imgElem,id,type) { - // Get Data by Artist ID - $.ajax({ - url: "http://ws.audioscrobbler.com/2.0/?method=artist.getInfo&mbid="+ artistID +"&api_key="+ apikey+"&format=json", - dataType: "jsonp", - cache: true, - success: function(data){ - if ( data.artist !== undefined ) { - var imageUrl = data.artist.image[size]['#text']; - } - if (data.error) { - getArtistName(); - } else { - if ( data.artist === undefined || imageUrl == "" || imageUrl == undefined ) { - var imageLarge = "#"; - var imageUrl = "interfaces/default/images/no-cover-artist.png"; - } else { - var artist = data.artist.mbid; - var artistBio = data.artist.bio.summary; - var imageLarge = data.artist.image[4]['#text']; - var imageUrl = data.artist.image[size]['#text']; - } - var artistBio = artistBio; - var image = imgElem; - var bio = $('#artistBio'); - $(image).attr("src",imageUrl).removeAttr("width").removeAttr("height").hide().fadeIn(); - if ( bio.length > 0 ) $(bio).append(artistBio); - $(image).wrap(''); - } - } - }); - // If not found get by Name - function getArtistName() { - $.ajax({ - url: "http://ws.audioscrobbler.com/2.0/?method=artist.getInfo&artist="+ name +"&api_key="+ apikey+"&format=json", - dataType: "jsonp", - success: function(data){ - if ( data.artist !== undefined ) { - var imageUrl = data.artist.image[size]['#text']; - } - if ( data.artist === undefined || imageUrl == "" ) { - var imageLarge = "#"; - var imageUrl = "interfaces/default/images/no-cover-artist.png"; - } else { - var artist = data.artist.name; - var artistBio = data.artist.bio.summary; - var imageLarge = data.artist.image[4]['#text']; - var imageUrl = data.artist.image[size]['#text']; - } - var artistBio = artistBio; - var image = imgElem; - var bio = $('#artistBio'); - $(image).attr("src",imageUrl).removeAttr("width").removeAttr("height").hide().fadeIn(); - if ( bio.length > 0 ) $(bio).append(artistBio); - $(image).wrap(''); - } - }); + if ( type == 'artist' ) { + var thumbURL = "getThumb?ArtistID=" + id; + } else { + var thumbURL = "getThumb?AlbumID=" + id; } + // Get Data from the cache by Artist ID + $.ajax({ + url: thumbURL, + success: function(data){ + if ( data == "" ) { + var imageUrl = "interfaces/default/images/no-cover-artist.png"; + } + else { + var imageUrl = data; + } + $(imgElem).attr("src",imageUrl).removeAttr("width").removeAttr("height").hide().fadeIn(); + $(imgElem).wrap(''); + } + }); } -function getAlbumInfo(name, album, elem,size) { - var apikey = "690e1ed3bc00bc91804cd8f7fe5ed6d4"; - var dimensions = getOriginalWidthOfImg(this); - var cover = $(elem); +function getArtwork(imgElem,id,type) { - if ( dimensions <= 1) { - // Get Data - $.ajax({ - url: "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=" + apikey + "&artist="+ name +"&album="+ album +"&format=json&callback=?", - dataType: "jsonp", - success: function(data){ - if ( data.artist !== undefined ) { - var imageUrl = data.artist.image[size]['#text']; - } - if (data.album === undefined || imageUrl == "") { - if ( elem.width() == 50 ) { - var imageUrl = "interfaces/default/images/no-cover-artist.png"; - } else { - var imageUrl = "interfaces/default/images/no-cover-art.png"; - } - } else { - var imageUrl = data.album.image[size]['#text']; - var imageLarge = data.album.image[3]['#text']; - } - $(cover).error(function(){ - if ( elem.width() == 50 ) { - var imageUrl = "interfaces/default/images/no-cover-artist.png"; - } else { - var imageUrl = "interfaces/default/images/no-cover-art.png"; - } - $(elem).css("background", "url("+ imageUrl+") center top no-repeat"); - }); - if ( imageUrl == "") { - if ( elem.width() == 50 ) { - var imageUrl = "interfaces/default/images/no-cover-artist.png"; - } else { - var imageUrl = "interfaces/default/images/no-cover-art.png"; - } - $(elem).css("background", "url("+ imageUrl+") center top no-repeat"); - } - $(elem).css("background", "url("+ imageUrl+") center top no-repeat"); - $(elem).wrap(''); - } - }); + if ( type == 'artist' ) { + var artworkURL = "getArtwork?ArtistID=" + id; + } else { + var artworkURL = "getArtwork?AlbumID=" + id; } + // Get Data from the cache by Artist ID + $.ajax({ + url: artworkURL, + success: function(data){ + if ( data == "" ) { + var imageUrl = "interfaces/default/images/no-cover-artist.png"; + } + else { + var imageUrl = data; + } + $(imgElem).attr("src",imageUrl).removeAttr("width").removeAttr("height").hide().fadeIn(); + $(imgElem).wrap(''); + } + }); +} + +function getInfo(elem,id,type) { + + if ( type == 'artist' ) { + var infoURL = "getInfo?ArtistID=" + id; + } else { + var infoURL = "getInfo?AlbumID=" + id; + } + // Get Data from the cache by Artist ID + $.ajax({ + url: infoURL, + data_type: "jsonp", + success: function(data){ + var summary = data['Summary']; + $(elem).append(summary); + } + }); } function getOriginalWidthOfImg(img_element) {