#amazon IMDB_MOVIE_PAGE = 'http://www.imdb.com/title/%s/' IMDB_BASEURL = 'http://www.imdb.com' def Start(): HTTP.CacheTime = CACHE_1DAY class AmazonAgent(Agent.Movies): name = 'Amazon' languages = [Locale.Language.English] primary_provider = False contributes_to = ['com.plexapp.agents.imdb'] def search(self, results, media, lang): try: amazonSearchUrl = IMDB_BASEURL + HTML.ElementFromURL(IMDB_MOVIE_PAGE % str(media.primary_metadata.id)).xpath("//a[@class='linkasbutton-secondary' and contains(@href,'buy-at-amazon')]")[0].get('href') except: #amazon link may be disabled on imdb page return results.Append( MetadataSearchResult( id = amazonSearchUrl, score = 100 ) ) def update(self, metadata, media, lang): #load the product page and grab the image url for product in HTML.ElementFromURL(metadata.id).xpath("//div[contains(@class,'productResult')]"): if product.xpath('.//span[@class="format"]')[0].text != "Video On Demand": amazonImageUrl = product.xpath('.//img')[0].get('src').replace('._SL160_AA115_','') name = amazonImageUrl.split('/')[-1] # Poster. if name not in metadata.posters: metadata.posters[name] = Proxy.Media(HTTP.Request(amazonImageUrl)) break