Hi,
I’ve been looking over posts, and other agents to learn how to create my own agent.
I think I’m close but I am stuck on why the info would not be updated.
Here is the code I’m using…
import urllib2, urllib, unicodedata, re<br />
<br />
# URLS<br />
DMM_BASEURL = 'http://www.dmm.co.jp'<br />
DMM_SEARCH_MOVIES = DMM_BASEURL + '/search/=/searchstr=%s/analyze=V1EBCFcEUQM_/limit=30/n1=FgRCTw9VBA4GCF5WXA__/n2=Aw1fVhQKX19XC15nV0AC/sort=rank_asc/num=1/'<br />
DMM_DETAIL_PAGE = DMM_BASEURL + '%s'<br />
<br />
def Start():<br />
HTTP.CacheTime = CACHE_1MINUTE<br />
HTTP.SetHeader('User-agent', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.2; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)')<br />
<br />
class DmmAgent(Agent.Movies):<br />
name = 'Dmm.co.jp'<br />
languages = [Locale.Language.Japanese]<br />
primary_provider = True<br />
accepts_from = ['com.plexapp.agents.localmedia']<br />
<br />
def search(self, results, media, lang):<br />
title = media.name<br />
query = String.URLEncode(String.StripDiacritics(title.replace('-','')))<br />
first_movie = HTML.ElementFromURL(DMM_SEARCH_MOVIES % query).xpath('//p[contains(@class,"tmb")][1]/a')<br />
link = first_movie[0].get('href')<br />
<br />
results.Append(MetadataSearchResult(id=link, score=100, lang=lang))<br />
<br />
def update(self, metadata, media, lang):<br />
<br />
for movie in HTML.ElementFromURL(DMM_DETAIL_PAGE % metadata.id).xpath('//div[contains(@class,"page-detail")]'):<br />
metadata.title = movie.xpath('//h1[contains(@id, "title")]')[0].text<br />
metadata.year = int(movie.xpath('//table[contains(@class, "mg-b20")]/tr[1]/td[2]')[0].text[:4])<br />
metadata.summary = movie.xpath('//div[contains(@class,"mg-b20")]/p[contains(@class, "mg-b20")]')[0].text_content().strip()<br />
metadata.studio = movie.xpath('//table[contains(@class, "mg-b20")]/tr[7]/td[2]/a')[0].text<br />
<br />
Log("[TITLE] = %s, [YEAR] = %s, [SUMMARY] = %s, [STUDIO] = %s" %(metadata.title, metadata.year, metadata.summary, metadata.studio) )
If I run this agent, the Log at the end of update shows all the correct title, year, summary, studio.
I also checked this file /Library/Application Support/Plex Media Server/Metadata/Movies/8/da7efbf50b0cf23d766d625d2a2e633fb0043c0.bundle/Contents/com.plexapp.agents.dmm/Info.xml
and checked that it is populated with the correct info.
But if I check the movie, everything comes out blank.
Is there some code I'm missing to push the info?
Any help/pointers would be appreciated.
Thanks!