Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- from dateutil.parser import parse
- BASEURL = 'http://localhost:5000'
- LANGUAGES = [
- Locale.Language.English,
- ]
- def Start():
- pass
- class MythMetadata(Agent.TV_Shows):
- name = 'MythMetadata'
- ver = '0.1'
- primary_provider = True
- languages = LANGUAGES
- def search(self, results, media, lang):
- Log('DAN: Running')
- Log('DAN: %s' % media)
- try:
- fn = os.readlink(String.Unquote(media.filename))
- except:
- Log('Unable to open %r' % String.Unquote(media.filename))
- return
- Log('DAN: %s' % fn)
- Log('DAN: %s' % media)
- slug = os.path.basename(fn)
- if ' ' in slug:
- return
- try:
- info = JSON.ObjectFromURL(BASEURL + '/recording/' + slug)
- except:
- Log('Failed to find anything for %s' % slug)
- return
- ident = info['title'].replace(' ', '')
- Log('DAN: Found %s: %s' % (ident, info['title']))
- results.Append(MetadataSearchResult(
- id = slug,
- name = info['title'],
- year = info['date'][:4],
- score = 1000,
- lang=LANGUAGES[0]))
- def update(self, metadata, media, lang):
- base_set = False
- Log('DAN: starting %s' % metadata.id)
- @parallelize
- def DoThing():
- for s in media.seasons:
- Log('DAN: Starting %s season %s' % (metadata.id, s))
- for e in media.seasons[s].episodes:
- @task
- def UpdateEpisode(e=e, metadata=metadata):
- Log('DAN: Starting %s season %s episode %s' % (metadata.id, s, e))
- episode = media.seasons[s].episodes[e]
- fn = episode.items[0].parts[0].file
- Log('DAN: filename is %s' % fn)
- try:
- slug = os.path.basename(os.readlink(fn))
- except:
- Log('DAN: Failed to read %s' % fn)
- return
- try:
- info = JSON.ObjectFromURL(BASEURL + '/recording/' + slug)
- except:
- Log('DAN: Failed to find anything for %s' % slug)
- return
- episode.title = info['subtitle']
- episode.summary = info['description']
- episode.directors = []
- episode.writers = []
- episode.producers = []
- episode.absolute_index = int(episode.index.replace('-', ''))
- episode.sort_title = info['subtitle']
- Log('DAN: Setting info: %r / %r' % (info['subtitle'],
- info['description']))
- Log('DAN: Episode: %s %s %r %r %s' % (episode, dir(episode),
- episode.title,
- episode.index,
- episode.items))
- Log('DAN: Done with episodes for %s' % s)
- Log('DAN: returning from %s' % metadata.id)
Advertisement
Add Comment
Please, Sign In to add comment