Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: CoverDownloader (Read 331892 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

CoverDownloader

Reply #250
@alexvallat:
in your script, 'class discogs' has to be changed to 'class coveralia', otherwise it will fail to compile for those who use the discogs-script as well.

thank you very much for the script, the images high quality!

frncl

CoverDownloader

Reply #251
im wondering if someone manage to do amazon.jp script... i can find almost any cover art with current set of script but anime soundtrack always kinda fail

CoverDownloader

Reply #252
@alexvallat:
in your script, 'class discogs' has to be changed to 'class coveralia', otherwise it will fail to compile for those who use the discogs-script as well.

thank you very much for the script, the images high quality!

frncl


Oops, sorry. I always tend to do a new script by modifying a copy of one of my old ones, and I must have missed changing this bit.



Thanks for pointing it out, I've corrected it in the file for download now.

CoverDownloader

Reply #253
Google and iTunesMS not working 

Anyone could make a cduniverse.com script maybe?

(it's hard to find metal albums at high res =( )


EDIT: iTunesMS works sometimes
-foobar2000 + Burrrn + EAC
-HD 80Gb using High QualityVBR MP3s

CoverDownloader

Reply #254
Deleted my post.  I was looking at the wrong cover downloader.  Sorry.

CoverDownloader

Reply #255
Anyone could make a cduniverse.com script maybe?

Here you go: cduniverse.boo

Searching CD Universe is not great, it won't let you search for both artist and album at the same time. This script searches by album title, then filters out any of the results which don't match the specified artist (case-insensitive substring match). So make sure you fill in the Album field, or it won't work.

Also, I didn't bother with thumbnails here as they would mean an extra page to parse, and they aren't that much smaller anyway.

Alex

CoverDownloader

Reply #256
Unlike my previous post (a couple above), I am meaning to post in this thread now.  I really like this program, thanks david_dl for providing it to us!  Like Sphix mentioned, the Google script doesn't seem to be working now.  I am not familiar with the scripts, so I do not know what would need changing to make it work again.  Has anyone been able to make a change and it a Google script working again?  If so, I would appreciate getting a copy.

Thanks!

UPDATE:

Amazing what you can figure out, once you know where/what to look at.  I have made changes to the Google script, and I have gotten it to work on my end.  I hope it works for all of you!  When you paste this code into a text file, replace the spaces before the code with an appropriate number of "Tabs" resulting in the same width of space.  Save the text file with a .boo extension.

Code: [Select]
namespace CoverSources
import System.Xml
import System.Drawing
import System.Text.RegularExpressions
import util

class GoogleImage:
static def GetPageSecret(url as string):
request as System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
request.UserAgent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"
response = request.GetResponse()
return response.GetResponseStream()
static SourceName as string:
get: return "GoogleImage"
static SourceVersion as decimal:
get: return 0.2
static def GetThumbs(coverart,artist,album):
query = artist+" "+album
params = EncodeUrl(query)
params.Replace('%20','+')
textstream = GetPageSecret("http://images.google.com/images?q="+params)
text = System.IO.StreamReader(textstream).ReadToEnd()
r = Regex("""dyn\.Img\("([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)"\)""")
iterator = r.Matches(text)
coverart.SetCountEstimate(iterator.Count)
for result as Match in iterator:
name=(result.Groups[7].Value.Replace("<b>","").Replace("</b>",""))
coverart.AddThumb("http://images.google.com/images?q=tbn:"+result.Groups[3].Value+result.Groups[4].Value,name,0,0,result.Groups[4].Value)
static def GetResult(param):
return param

Edit: Added note about tabs and saving.

CoverDownloader

Reply #257
I found a great site for looking up cover art. Can anyone make a script for it?

http://www.slothradio.com/covers/index.php

Edit - OK, I understand where I need to put the scripts, but how the hell do I take the copied text and turn into the necessary file?

Edit again- OK, I kinda figured it out. Open the .boo files with a text editor, paste the code, save. I haven't been able to pull up any results with Coveralia yet though. And thanks kockroach, but that didn't work for me. Might have something to do with the placement of the spaces.

CoverDownloader

Reply #258
I found a great site for looking up cover art. Can anyone make a script for it?

http://www.slothradio.com/covers/index.php

Edit - OK, I understand where I need to put the scripts, but how the hell do I take the copied text and turn into the necessary file?

Edit again- OK, I kinda figured it out. Open the .boo files with a text editor, paste the code, save. I haven't been able to pull up any results with Coveralia yet though. And thanks kockroach, but that didn't work for me. Might have something to do with the placement of the spaces.


hmmm, they obviously don't have their own image database, but use amazon's pics. so it wouldn't make much sense to write a script since we already have some for amazon us and amazon de. i checked only three examples, though.

frncl

CoverDownloader

Reply #259
And thanks kockroach, but that didn't work for me. Might have something to do with the placement of the spaces.

Earlier in the thread it was mentioned that the copy/paste function doesn't work correctly.  All of the space before the code on each line are tabs, not spaces (using the spacebar).  You will need to replace those yourself.

CoverDownloader

Reply #260
Earlier in the thread it was mentioned that the copy/paste function doesn't work correctly.  All of the space before the code on each line are tabs, not spaces (using the spacebar).  You will need to replace those yourself.

or you can 'reply' to the post containing the code box and copy the code listing from the edit window.

CoverDownloader

Reply #261
I made a change to the Google Script so that it would display the Image Size below the thumbnail, instead of the artist/title.  I also added the ability to filter out images smaller than a certain width.  I didn't want to overwrite the one I posted earlier as there are some who may prefer one over the other.

Dont' forget to replace the spaces before the code with an appropriate number of "Tabs" resulting in the same width of space. Save the text file with a .boo extension.

Code: [Select]
namespace CoverSources
import System.Xml
import System.Drawing
import System.Text.RegularExpressions
import util

class GoogleImage:
static def GetPageSecret(url as string):
request as System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
request.UserAgent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"
response = request.GetResponse()
return response.GetResponseStream()
static SourceName as string:
get: return "GoogleImage"
static SourceVersion as decimal:
get: return 0.2
static def GetThumbs(coverart,artist,album):
query = artist+" "+album
params = EncodeUrl(query)
params.Replace('%20','+')
textstream = GetPageSecret("http://images.google.com/images?q="+params)
text = System.IO.StreamReader(textstream).ReadToEnd()
r = Regex("""dyn\.Img\("([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)"\)""")
iterator = r.Matches(text)
coverart.SetCountEstimate(iterator.Count)
for result as Match in iterator:
name = result.Groups[10].Value
name = name.Remove(name.IndexOf("pixels"))
FirstVal = name.Remove(name.IndexOf(" x "))
if (int.Parse(FirstVal) >= 300):
coverart.AddThumb("http://images.google.com/images?q=tbn:"+result.Groups[3].Value+result.Groups[4].Value,name,0,0,result.Groups[4].Value)
static def GetResult(param):
return param
To adjust the size used in the filter, change the number in the following line to whatever you want:
Code: [Select]
if (int.Parse(FirstVal) >= 300):

Also, I know this won't work with the German Google site, unless you change "pixels" to "Pixel".

CoverDownloader

Reply #262
Thanks mazy and kockroach, got it working perfectly. Your Google script is great, by the way. The dimensions of the art should be displayed like that by default, in my opinion.

CoverDownloader

Reply #263
Thanks mazy and kockroach, got it working perfectly. Your Google script is great, by the way. The dimensions of the art should be displayed like that by default, in my opinion.

Glad to hear that it is working for you.  I wish I could say that I knew exactly what I was doing when it comes to scripting...it was a bunch of trial and error for me 

I have been trying to get the buy.com script to work, but I can't get anything to work.  Has anyone been able to get it working?

CoverDownloader

Reply #264
Awesome job kockroach.  If you have some time, could you explain what the relevant lines of code are in your google script to display the image size instead of the name?  I'd like to learn a little more about it, and try to modify the other scripts for Amazon and Walmart to do the same.  (Or if you'd like to do that as well....)

Either way, what is that scripting language so I can do some research on it?  Thanks everyone!

CoverDownloader

Reply #265
Awesome job kockroach.  If you have some time, could you explain what the relevant lines of code are in your google script to display the image size instead of the name?  I'd like to learn a little more about it, and try to modify the other scripts for Amazon and Walmart to do the same.  (Or if you'd like to do that as well....)

Either way, what is that scripting language so I can do some research on it?  Thanks everyone!

wraithdu,

As I mentioned, I have no experience whatsoever with scripting language....so I couldn't even tell you what language is used.  I recall seeing david_dl mention using IronPython...not sure if this is Python based or not.  I did the changes by looking at the previous google code, things that InogG provided, and the actual HTML source page of a search in Google.  By looking at all of this, you can figure out what is going on, but I can't expand on what is being done since I don't know the language.

This is the section that gives the name
Code: [Select]
name = result.Groups[10].Value
name = name.Remove(name.IndexOf("pixels"))
FirstVal = name.Remove(name.IndexOf(" x "))
if (int.Parse(FirstVal) >= 300):

The first line in the above code pulls out a section of HTML source code that shows size info, in the format of "500 x 500 pixels - 32k".  The second line ignores anything from "pixels" on, so it only displays "500 x 500" in the program.  The filter is set up by lines 3 and 4.  The third line tells the filter to look at only the first value in the "500 x 500" by removing anything from the " x " on.  The final line tells the filter what to keep...in this case anything 300 pixels wide or above.

The Amazon script is looking at an XML page, so I am not sure exactly what can be done about getting size info included there.  The source code needs to provide the actual size information to be able to pull it out with a script.

CoverDownloader

Reply #266
The scripting language is Boo. It is a .net language, so if you are familiar with C# or VB.net it shouldn't be too tricky to pick up (just syntactical differences).

A while ago I did a modification of the Amazon script to put the image size in the label, or overlayed on the image. It works by downloading the full sized image and measuring it, so you can use that method for any service that does not provide information about the width and height in the html (or xml, whatever).

You can see it here in my [a href='index.php?act=findpost&pid=420417']earlier post[/a].

Alex

CoverDownloader

Reply #267
about two days ago i finally found the solution to my comserver problem. i had simply forgotten to register it... however, i re-installed win xp today, copied back my fb2k-folder (including coverdownloader) and started foobar. no problems. until i started a cover search. i got the following error message: "the application could not be properly initialized. (0x0000135)"... I tried to run in with admin rights, same problem. i downloaded it again and tested it in a new folder. same problem... hmmm, basically, my system is only 'cleaner' than it was before... can anyone help me (again)?

thanks,
frncl

CoverDownloader

Reply #268
The scripting language is Boo. It is a .net language, so if you are familiar with C# or VB.net it shouldn't be too tricky to pick up (just syntactical differences).

A while ago I did a modification of the Amazon script to put the image size in the label, or overlayed on the image. It works by downloading the full sized image and measuring it, so you can use that method for any service that does not provide information about the width and height in the html (or xml, whatever).

You can see it here in my [a href='index.php?act=findpost&pid=420417']earlier post[/a].

Alex

Hi Alex,

Thanks for the info.  I will check out the page on Boo.  Also, thanks for pointing out your modified Amazon script.  I passed over that one, and didn't even realize it.

EDIT: An update on some changes i have made.  I added the size filter to the Amazon script that AlexVallat had posted with the size info put on the thumb as a caption.  I was also successful in adding that same code into the Google script, and then changing the "label" to the title of the image.  Before I post them up, I want to try to do the same bold effect that is present in the Amazon script for correct matches.  Not exactly sure what I need to do, so if there are any suggestions, please throw them my way.

Thanks.

CoverDownloader

Reply #269
I added the size filter to the Amazon script that AlexVallat had posted...


It is supposed to already be doing size filtering. The line if large.Height>10: filters images smaller than 10px, just to remove the non-album tiny images that sometimes appear, but you can change that value if you need to.

I want to try to do the same bold effect that is present in the Amazon script for correct matches.


This is handled internally by the CoverDownloader app, not the script. If the title matches exactly what is searched for, it is shown in bold (this is an option, though). I suppose if you wanted to make sure that the title was bold you could return the title as just String.Format("{0} {1}", artist, album), but it is probably more generally useful to return the actual title as found from the service you are searching.

Of course, appending a size to the title guarantees it won't be an exact match, which is why I added the option to overlay the size on the thumbnail instead in my script!

Alex

 

CoverDownloader

Reply #270
The line if large.Height>10: filters images smaller than 10px, ...
Ahh...from the look of it, I thought it was only for the thumb images.  Don't know what I was thinking.  Thanks!

This is handled internally by the CoverDownloader app, not the script. If the title matches exactly what is searched for, it is shown in bold (this is an option, though). I suppose if you wanted to make sure that the title was bold you could return the title as just String.Format("{0} {1}", artist, album), but it is probably more generally useful to return the actual title as found from the service you are searching.

Of course, appending a size to the title guarantees it won't be an exact match, which is why I added the option to overlay the size on the thumbnail instead in my script!

Alex
I did not realize that it was actually handled internally.  The titles coming out of the Google search are a mess, of course because the various websites they come from do not clean up the names.  I was hoping to pull out if the name included the album and artist.  Hopefully as a way to remove incorrect results.

Thanks for your help Alex!

EDIT:
Alex, I tested the filter you mentioned in the Amazon script, and it seems to do something different than what I added into the script.  Here is what I have done:
Code: [Select]
namespace CoverSources
import System.Xml
import System.Drawing
import util

class Amazon:
static AddSizeToImage = true //If true, this will add a caption to the top-left of the image with the size.
static AddSizeToLabel = false //If true, this will put the size in the label. Note that this will spoil bold higlighing of exact matches
static ThumbSize = Size(200, 200) //Size here should match thumbnail size in CoverDownloader settings for best results

static SourceName as string:
get: return "Amazon"
static SourceVersion as decimal:
get: return 0.2
static def GetThumbs(coverart,artist,album):
x=System.Xml.XmlDocument()
x.Load("http://xml.amazon.com/onca/xml3?f=xml&t=webservices-20&dev-t=1MV23E34ARMVYMBDZB02&type=lite&page=1&mode=music&KeywordSearch="+EncodeUrl(artist+" "+album))
results=x.GetElementsByTagName("Details")
coverart.SetCountEstimate(results.Count)
for node in results:
large = System.Drawing.Bitmap.FromStream(GetPageStream(node["ImageUrlLarge"].InnerText))
if large.Height>10:
caption = System.String.Format("{0} x {1}", large.Width, large.Height)

//Create the thumbnail.
thumb = Bitmap(large, ThumbSize)
large.Dispose()

//Caption the image
if AddSizeToImage:
g = Graphics.FromImage(thumb)
f = Font(SystemFonts.DefaultFont, FontStyle.Bold)
g.DrawString(caption, f, Brushes.White, 1,1 )
g.DrawString(caption, f, Brushes.Black, 0,0 )
f.Dispose()
g.Dispose()

label = node["ProductName"].InnerText
//Add the size to the label
if AddSizeToLabel:
label = System.String.Format("{0} ({1})", label, caption)

FirstVal = caption.Remove(caption.IndexOf(" x "))
if (int.Parse(FirstVal) >= 300):
coverart.AddThumb(thumb,label,0,0,node["ImageUrlLarge"].InnerText)
static def GetResult(param):
return param
I added the two lines toward the end starting with "FirstVal", which filters the images based on the "{0} x {1}" output of your caption.  Leaving the script as I pasted it, and then searching for "Pearl Jam Ten", for example, I find only 4 results (all show 500 x 500, but one is actually blank--not sure why).  If I remove the lines I added, then there are 10 results (all the same 10 that appear if I do an actual search on Amazon.com).  If I do a search with your filter set to 300, with or without the filter I added set to 300, I still get all 10 results.  The difference is that the caption shows all 10 images as "500 x 500", which is not truly the case.

It seems that if the image.Height doesn't meet the requirement set in the filter, that it will default the image to "500 x 500".  If you open any of the images from the search on Amazon.com in its own window, and then check the properties, it always lists the width and height as 500 x 500, even if the image is truly smaller.

CoverDownloader

Reply #271
Nice work.  Can't wait to see your scripts kockroach.

CoverDownloader

Reply #272
I was feeling left out so I decided to make a small contribution.  I added an image size description to Alex's discogs boo script.  It seems all art from that site is high quality, so I didn't write in an image size filter.  Also I couldn't figure out the fancy image overlay like the Amazon script, so it's just in the title....baby steps.  The discogs script was very different from Amazon, so I couldn't modify the overlay code.

PS - I'm no programmer at all, so each new piece of fb2k that I try out I'm learning the coding from scratch.  So you'll have to forgive my amateur results

Code: [Select]
namespace CoverSources
import System
import System.Text
import System.Text.RegularExpressions
import util

class Discogs:
static SourceName as string:
get: return "Discogs"
static SourceVersion as decimal:
get: return 0.1
static def GetThumbs(coverart,artist,album):
query as string = artist + " " + album
query.Replace(' ','+')
obidResults = GetPage(String.Format("http://www.discogs.com/search?type=all&q={0}", EncodeUrl(query)))

//Get obids
obidRegex = Regex("<a href=\"/release/(?<obid>\\d+)\"><span[^>]+>[^-]+- (?:</?em>|(?<name>[^<-]+))+</span>", RegexOptions.Multiline)
obidMatches = obidRegex.Matches(obidResults)
coverart.SetCountEstimate(obidMatches.Count) //Probably more than this, as some releases might have multiple images

for obidMatch as Match in obidMatches:
//Construct the release name by joining up all the captures of the "name" group
releaseNameBuilder = StringBuilder()
for namePart in obidMatch.Groups["name"].Captures:
releaseNameBuilder.Append(namePart)

releaseName = releaseNameBuilder.ToString()

//Get the image results
imageResults = GetPage(String.Format("http://www.discogs.com/viewimages?what=R&obid={0}&showpending=1", obidMatch.Groups["obid"].Value))
imageRegex = Regex("<img src=\"(?<url>http://www\\.discogs\\.com/image/R-\\d+-\\d+.jpe?g)\" width=\"(?<width>\\d+)\" height=\"(?<height>\\d+)\"")
imageMatches = imageRegex.Matches(imageResults)
for imageMatch as Match in imageMatches:
imgwide = imageMatch.Groups["width"].Value
imghigh = imageMatch.Groups["height"].Value
label = System.String.Format("{0} ({1} x {2})", releaseName, imgwide, imghigh)
coverart.AddThumb(imageMatch.Groups["url"].Value, label, Int32.Parse(imageMatch.Groups["width"].Value), Int32.Parse(imageMatch.Groups["height"].Value), imageMatch.Groups["url"].Value)

static def GetResult(param):
return param


EDIT:

I figured out the image overlay for discogs.  Here's the updated script.

Code: [Select]
namespace CoverSources
import System
import System.Xml
import System.Drawing
import System.Text
import System.Text.RegularExpressions
import util

class Discogs:
static ThumbSize = Size(150, 150)
static SourceName as string:
get: return "Discogs"
static SourceVersion as decimal:
get: return 0.1
static def GetThumbs(coverart,artist,album):
query as string = artist + " " + album
query.Replace(' ','+')
obidResults = GetPage(String.Format("http://www.discogs.com/search?type=all&q={0}", EncodeUrl(query)))

//Get obids
obidRegex = Regex("<a href=\"/release/(?<obid>\\d+)\"><span[^>]+>[^-]+- (?:</?em>|(?<name>[^<-]+))+</span>", RegexOptions.Multiline)
obidMatches = obidRegex.Matches(obidResults)
coverart.SetCountEstimate(obidMatches.Count) //Probably more than this, as some releases might have multiple images

for obidMatch as Match in obidMatches:
//Construct the release name by joining up all the captures of the "name" group
releaseNameBuilder = StringBuilder()
for namePart in obidMatch.Groups["name"].Captures:
releaseNameBuilder.Append(namePart)

releaseName = releaseNameBuilder.ToString()

//Get the image results
imageResults = GetPage(String.Format("http://www.discogs.com/viewimages?what=R&obid={0}&showpending=1", obidMatch.Groups["obid"].Value))
imageRegex = Regex("<img src=\"(?<url>http://www\\.discogs\\.com/image/R-\\d+-\\d+.jpe?g)\" width=\"(?<width>\\d+)\" height=\"(?<height>\\d+)\"")
imageMatches = imageRegex.Matches(imageResults)
for imageMatch as Match in imageMatches:

large = System.Drawing.Bitmap.FromStream(GetPageStream(imageMatch.Groups["url"].Value))
caption = System.String.Format("{0} x {1}", large.Width, large.Height)
thumb = Bitmap(large, ThumbSize)
large.Dispose()

g = Graphics.FromImage(thumb)
f = Font(SystemFonts.DefaultFont, FontStyle.Bold)
g.DrawString(caption, f, Brushes.White, 1,1 )
g.DrawString(caption, f, Brushes.Black, 0,0 )
f.Dispose()
g.Dispose()

coverart.AddThumb(thumb, releaseName, Int32.Parse(imageMatch.Groups["width"].Value), Int32.Parse(imageMatch.Groups["height"].Value), imageMatch.Groups["url"].Value)

static def GetResult(param):
return param

CoverDownloader

Reply #273
And one for google with the image size overlayed on the thumbnail.  Thanks again to Alex and kockroach for the main body of the scripting.

Code: [Select]
namespace CoverSources
import System.Xml
import System.Drawing
import System.Text.RegularExpressions
import util

class GoogleImage:
static ThumbSize = Size(150, 150)
static def GetPageSecret(url as string):
request as System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
request.UserAgent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"
response = request.GetResponse()
return response.GetResponseStream()
static SourceName as string:
get: return "GoogleImage"
static SourceVersion as decimal:
get: return 0.2
static def GetThumbs(coverart,artist,album):
query = artist+" "+album
params = EncodeUrl(query)
params.Replace('%20','+')
textstream = GetPageSecret("http://images.google.com/images?q="+params)
text = System.IO.StreamReader(textstream).ReadToEnd()
r = Regex("""dyn\.Img\("([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)","([^"]*)"\)""")
iterator = r.Matches(text)
coverart.SetCountEstimate(iterator.Count)
for result as Match in iterator:
size = result.Groups[10].Value
size = size.Remove(size.IndexOf("pixels"))

large = System.Drawing.Bitmap.FromStream(GetPageStream("http://images.google.com/images?q=tbn:"+result.Groups[3].Value+result.Groups[4].Value))
thumb = Bitmap(large, ThumbSize)
large.Dispose()

g = Graphics.FromImage(thumb)
f = Font(SystemFonts.DefaultFont, FontStyle.Bold)
g.DrawString(size, f, Brushes.White, 1,1 )
g.DrawString(size, f, Brushes.Black, 0,0 )
f.Dispose()
g.Dispose()

name = (result.Groups[7].Value.Replace("<b>","").Replace("</b>",""))

FirstVal = size.Remove(size.IndexOf(" x "))
if (int.Parse(FirstVal) >= 300):
coverart.AddThumb(thumb,name,0,0,result.Groups[4].Value)
static def GetResult(param):
return param

I've really got to hand it to Alex for the size overlay idea.  It works out very well.  BTW, this script actually overlays the full image size on the thumbnail image, to save on the initial search/download time.

CoverDownloader

Reply #274
@ kockroach [a href="index.php?act=findpost&pid=461738"][{POST_SNAPBACK}][/a]
The reason the filter as I had it isn't working in the script as you have it in the codebox is indentation. Boo is an indentation-sensitive language. The lines starting with //Create the thumbnail. and ending with coverart.AddThumb(thumb,label,0,0,node["ImageUrlLarge"].InnerText) inclusive all need to be one tab further indented, like I had them in my script. The way Boo works, once the indentation level falls back to the same level as the if statement, that conditional block is closed, so in the code as you quoted only the line caption = System.String.Format("{0} x {1}", large.Width, large.Height) is conditional on the if statement.

@ wraithdu [a href="index.php?act=findpost&pid=461774"][{POST_SNAPBACK}][/a]
Thanks, glad you're finding the scripts useful. I'd only done the size stuff for the Amzon script as a proof of concept sort of thing, and not put it in any of my other scripts. I believe that size display should be handled by the main app, not have to be replicated for every script. The script already has the option of passing back the size of the full image, if known (which my scripts do), so the main app should have the option of displaying this somewhere, really.

Alex