summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorjerous <jerous@gmail.com>2008-09-17 01:38:04 +0200
committerjerous <jerous@gmail.com>2008-09-17 01:38:04 +0200
commit72dde1aedfdc5d863843a209926a5f67d44e39da (patch)
tree0967f007960c1749c5b3f87b2afbe0fe685f9ec1 /plugins
parent5bc59c518834fcb99d582a439d4f15824708eaa6 (diff)
AlbumCover: tabbing ...
Diffstat (limited to 'plugins')
-rw-r--r--plugins/AlbumCover.py103
1 files changed, 46 insertions, 57 deletions
diff --git a/plugins/AlbumCover.py b/plugins/AlbumCover.py
index fa689a0..b85c8e7 100644
--- a/plugins/AlbumCover.py
+++ b/plugins/AlbumCover.py
@@ -219,64 +219,53 @@ import urllib
AMAZON_AWS_ID = "0K4RZZKHSB5N2XYJWF02"
class AmazonAlbumImage(object):
- awsurl = "http://ecs.amazonaws.com/onca/xml"
- def __init__(self, artist, album):
- self.artist = artist
- self.album = album
-
- def fetch(self):
- url = self._GetResultURL(self._SearchAmazon())
- if not url:
- return None
- img_re = re.compile(r'''registerImage\("original_image", "([^"]+)"''')
- try:
- prod_data = urllib.urlopen(url).read()
- except:
- log.important("AlbumCover: timeout opening %s"%(url))
- return None
- m = img_re.search(prod_data)
- if not m:
- return None
- img_url = m.group(1)
- return img_url
-
- def _SearchAmazon(self):
- data = {
- "Service": "AWSECommerceService",
- "Version": "2005-03-23",
- "Operation": "ItemSearch",
- "ContentType": "text/xml",
- "SubscriptionId": AMAZON_AWS_ID,
- "SearchIndex": "Music",
- "ResponseGroup": "Small",
- }
-
- data["Artist"] = self.artist
- data["Keywords"] = self.album
-
- try:
- fd = urllib.urlopen("%s?%s" % (self.awsurl, urllib.urlencode(data)))
- return fd.read()
- except:
- # this is very probable a timeout exception
- log.important("AlbumCover: timeout openening %s"%(self.awsurl))
- return None
-
+ awsurl = "http://ecs.amazonaws.com/onca/xml"
+ def __init__(self, artist, album):
+ self.artist = artist
+ self.album = album
+
+ def fetch(self):
+ url = self._GetResultURL(self._SearchAmazon())
+ if not url:
+ return None
+ img_re = re.compile(r'''registerImage\("original_image", "([^"]+)"''')
+ try:
+ prod_data = urllib.urlopen(url).read()
+ except:
+ log.important("AlbumCover: timeout opening %s"%(url))
+ return None
+ m = img_re.search(prod_data)
+ if not m:
+ return None
+ img_url = m.group(1)
+ return img_url
- def _GetResultURL(self, xmldata):
- if not xmldata:
+ def _SearchAmazon(self):
+ data = {
+ "Service": "AWSECommerceService",
+ "Version": "2005-03-23",
+ "Operation": "ItemSearch",
+ "ContentType": "text/xml",
+ "SubscriptionId": AMAZON_AWS_ID,
+ "SearchIndex": "Music",
+ "ResponseGroup": "Small",
+ }
+
+ data["Artist"] = self.artist
+ data["Keywords"] = self.album
+
+ try:
+ fd = urllib.urlopen("%s?%s" % (self.awsurl, urllib.urlencode(data)))
+ return fd.read()
+ except:
+ # this is very probable a timeout exception
+ log.important("AlbumCover: timeout openening %s"%(self.awsurl))
return None
- url_re = re.compile(r"<DetailPageURL>([^<]+)</DetailPageURL>")
- m = url_re.search(xmldata)
- return m and m.group(1)
-
-if __name__ == "__main__":
- import sys
- if len(sys.argv) < 3:
- print "usage: %s <artist> <album>" % argv[0]
- sys.exit(1)
- artist = sys.argv[1]
- album = sys.argv[2]
- print AmazonAlbumImage(artist, album).fetch()
+ def _GetResultURL(self, xmldata):
+ if not xmldata:
+ return None
+ url_re = re.compile(r"<DetailPageURL>([^<]+)</DetailPageURL>")
+ m = url_re.search(xmldata)
+ return m and m.group(1)