def guessitToPygoo(guess): for lang in ('language', 'subtitleLanguage'): value = tolist(guess.get(lang)) if len(value) > 1: guess[lang] = [ l.alpha2 for l in value ] elif value: guess[lang] = value[0].alpha2 value = tolist(guess.get('date')) if len(value) > 1: guess['date'] = [ d.isoformat() for d in value ] elif value: guess['date'] = value[0].isoformat() return guess
def subtitleLink(self): flag = utils.smewtMediaUrl('common', 'images', 'flags', '%s.png' % guessit.Language(self.language).alpha2) sfiles = [] for subfile in tolist(self.files): subtitleFilename = subfile.filename videoFiles = tolist(self.metadata.get('files')) # we shouldn't need to check that they start with the same prefix anymore, as # the taggers/guessers should have mapped them correctly mediaFilename = [ f.filename for f in videoFiles if subtitleFilename.startswith(os.path.splitext(f.filename)[0]) ] mediaFilename = mediaFilename[0] if mediaFilename else '' sfiles += [ (mediaFilename, subtitleFilename) ] # FIXME: cannot put this import above otherwise we create an infinite # import recursion loop... from smewt.base.actionfactory import PlayAction return utils.SDict({ 'languageImage': flag, 'url': PlayAction(sfiles).url()})