本文整理汇总了Python中MythTV.VideoMetadata.inetref方法的典型用法代码示例。如果您正苦于以下问题:Python VideoMetadata.inetref方法的具体用法?Python VideoMetadata.inetref怎么用?Python VideoMetadata.inetref使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MythTV.VideoMetadata
的用法示例。
在下文中一共展示了VideoMetadata.inetref方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: buildList
# 需要导入模块: from MythTV import VideoMetadata [as 别名]
# 或者: from MythTV.VideoMetadata import inetref [as 别名]
def buildList(query, opts):
# TEMPORARY FIX:
# replace all dashes from queries to work around search behavior
# as negative to all text that comes afterwards
query = query.replace("-", " ")
from MythTV.tmdb3 import searchMovie
from MythTV import VideoMetadata
from lxml import etree
results = searchMovie(query)
tree = etree.XML(u"<metadata></metadata>")
mapping = [
["runtime", "runtime"],
["title", "originaltitle"],
["releasedate", "releasedate"],
["tagline", "tagline"],
["description", "overview"],
["homepage", "homepage"],
["userrating", "userrating"],
["popularity", "popularity"],
]
count = 0
for res in results:
if res is None:
continue
m = VideoMetadata()
for i, j in mapping:
if getattr(res, j):
setattr(m, i, getattr(res, j))
m.inetref = str(res.id)
if res.title:
m.title = res.title
# TODO:
# should releasedate and year be pulled from the country-specific data
# or should it be left to the default information to cut down on
# traffic from searches
if res.releasedate:
m.year = res.releasedate.year
if res.backdrop:
b = res.backdrop
m.images.append({"type": "fanart", "url": b.geturl(), "thumb": b.geturl(b.sizes()[0])})
if res.poster:
p = res.poster
m.images.append({"type": "coverart", "url": p.geturl(), "thumb": p.geturl(p.sizes()[0])})
tree.append(m.toXML())
count += 1
if count >= 60:
# page limiter, dont want to overload the server
break
sys.stdout.write(etree.tostring(tree, encoding="UTF-8", pretty_print=True, xml_declaration=True))
sys.exit(0)
示例2: buildSingle
# 需要导入模块: from MythTV import VideoMetadata [as 别名]
# 或者: from MythTV.VideoMetadata import inetref [as 别名]
def buildSingle(inetref):
movie = Movie(inetref)
tree = etree.XML(u'<metadata></metadata>')
mapping = [['runtime', 'runtime'], ['title', 'originaltitle'],
['releasedate', 'releasedate'], ['tagline', 'tagline'],
['description', 'overview'], ['homepage', 'homepage'],
['userrating', 'userrating'], ['popularity', 'popularity'],
['budget', 'budget'], ['revenue', 'revenue']]
m = VideoMetadata()
for i,j in mapping:
if getattr(movie, j):
setattr(m, i, getattr(movie, j))
m.inetref = str(movie.id)
if movie.releasedate:
m.year = movie.releasedate.year
if movie.collection:
m.collectionref = str(movie.collection.id)
for country, release in movie.releases.items():
if release.certification:
m.certifications[country] = release.certification
for genre in movie.genres:
m.categories.append(genre.name)
for studio in movie.studios:
m.studios.append(studio.name)
for country in movie.countries:
m.countries.append(country.name)
for cast in movie.cast:
d = {'name':cast.name, 'character':cast.character, 'department':'Actors',
'job':'Actor', 'url':'http://www.themoviedb.org/people/{0}'.format(cast.id)}
if cast.profile: d['thumb'] = cast.profile.geturl()
m.people.append(d)
for crew in movie.crew:
d = {'name':crew.name, 'job':crew.job, 'department':crew.department,
'url':'http://www.themoviedb.org/people/{0}'.format(cast.id)}
if crew.profile: d['thumb'] = crew.profile.geturl()
m.people.append(d)
for backdrop in movie.backdrops:
m.images.append({'type':'fanart', 'url':backdrop.geturl(),
'thumb':backdrop.geturl(backdrop.sizes()[0])})
for poster in movie.posters:
m.images.append({'type':'coverart', 'url':poster.geturl(),
'thumb':poster.geturl(poster.sizes()[0])})
tree.append(m.toXML())
sys.stdout.write(etree.tostring(tree, encoding='UTF-8', pretty_print=True,
xml_declaration=True))
sys.exit()
示例3: buildList
# 需要导入模块: from MythTV import VideoMetadata [as 别名]
# 或者: from MythTV.VideoMetadata import inetref [as 别名]
def buildList(query):
# TEMPORARY FIX:
# replace all dashes from queries to work around search behavior
# as negative to all text that comes afterwards
query = query.replace('-',' ')
results = searchMovie(query)
tree = etree.XML(u'<metadata></metadata>')
mapping = [['runtime', 'runtime'], ['title', 'originaltitle'],
['releasedate', 'releasedate'], ['tagline', 'tagline'],
['description', 'overview'], ['homepage', 'homepage'],
['userrating', 'userrating'], ['popularity', 'popularity']]
count = 0
for res in results:
m = VideoMetadata()
for i,j in mapping:
if getattr(res, j):
setattr(m, i, getattr(res, j))
m.inetref = str(res.id)
if res.releasedate:
m.year = res.releasedate.year
if res.backdrop:
b = res.backdrop
m.images.append({'type':'fanart', 'url':b.geturl(),
'thumb':b.geturl(b.sizes()[0])})
if res.poster:
p = res.poster
m.images.append({'type':'coverart', 'url':p.geturl(),
'thumb':p.geturl(p.sizes()[0])})
tree.append(m.toXML())
count += 1
if count >= 60:
# page limiter, dont want to overload the server
break
sys.stdout.write(etree.tostring(tree, encoding='UTF-8', pretty_print=True,
xml_declaration=True))
sys.exit(0)
示例4: buildSingle
# 需要导入模块: from MythTV import VideoMetadata [as 别名]
# 或者: from MythTV.VideoMetadata import inetref [as 别名]
def buildSingle(inetref, opts):
from MythTV.tmdb3 import Movie
from MythTV import VideoMetadata
from lxml import etree
import re
if re.match('^0[0-9]{6}$', inetref):
movie = Movie.fromIMDB(inetref)
else:
movie = Movie(inetref)
tree = etree.XML(u'<metadata></metadata>')
mapping = [['runtime', 'runtime'], ['title', 'originaltitle'],
['releasedate', 'releasedate'], ['tagline', 'tagline'],
['description', 'overview'], ['homepage', 'homepage'],
['userrating', 'userrating'], ['popularity', 'popularity'],
['budget', 'budget'], ['revenue', 'revenue']]
m = VideoMetadata()
for i,j in mapping:
if getattr(movie, j):
setattr(m, i, getattr(movie, j))
if movie.title:
m.title = movie.title
releases = movie.releases.items()
if opts.country:
try:
# resort releases with selected country at top to ensure it
# is selected by the metadata libraries
index = zip(*releases)[0].index(opts.country)
releases.insert(0, releases.pop(index))
except ValueError:
pass
else:
m.releasedate = releases[0][1].releasedate
m.inetref = str(movie.id)
if movie.collection:
m.collectionref = str(movie.collection.id)
if movie.releasedate:
m.year = movie.releasedate.year
for country, release in releases:
if release.certification:
m.certifications[country] = release.certification
for genre in movie.genres:
m.categories.append(genre.name)
for studio in movie.studios:
m.studios.append(studio.name)
for country in movie.countries:
m.countries.append(country.name)
for cast in movie.cast:
d = {'name':cast.name, 'character':cast.character, 'department':'Actors',
'job':'Actor', 'url':'http://www.themoviedb.org/people/{0}'.format(cast.id)}
if cast.profile: d['thumb'] = cast.profile.geturl()
m.people.append(d)
for crew in movie.crew:
d = {'name':crew.name, 'job':crew.job, 'department':crew.department,
'url':'http://www.themoviedb.org/people/{0}'.format(crew.id)}
if crew.profile: d['thumb'] = crew.profile.geturl()
m.people.append(d)
for backdrop in movie.backdrops:
m.images.append({'type':'fanart', 'url':backdrop.geturl(),
'thumb':backdrop.geturl(backdrop.sizes()[0]),
'height':str(backdrop.height),
'width':str(backdrop.width)})
for poster in movie.posters:
m.images.append({'type':'coverart', 'url':poster.geturl(),
'thumb':poster.geturl(poster.sizes()[0]),
'height':str(poster.height),
'width':str(poster.width)})
tree.append(m.toXML())
sys.stdout.write(etree.tostring(tree, encoding='UTF-8', pretty_print=True,
xml_declaration=True))
sys.exit()
示例5: buildSingle
# 需要导入模块: from MythTV import VideoMetadata [as 别名]
# 或者: from MythTV.VideoMetadata import inetref [as 别名]
def buildSingle(inetref, opts):
from MythTV.tmdb3 import Movie
from MythTV import VideoMetadata
from lxml import etree
import re
if re.match("^0[0-9]{6}$", inetref):
movie = Movie.fromIMDB(inetref)
else:
movie = Movie(inetref)
tree = etree.XML(u"<metadata></metadata>")
mapping = [
["runtime", "runtime"],
["title", "originaltitle"],
["releasedate", "releasedate"],
["tagline", "tagline"],
["description", "overview"],
["homepage", "homepage"],
["userrating", "userrating"],
["popularity", "popularity"],
["budget", "budget"],
["revenue", "revenue"],
]
m = VideoMetadata()
for i, j in mapping:
if getattr(movie, j):
setattr(m, i, getattr(movie, j))
if movie.title:
m.title = movie.title
releases = movie.releases.items()
if opts.country:
try:
# resort releases with selected country at top to ensure it
# is selected by the metadata libraries
index = zip(*releases)[0].index(opts.country)
releases.insert(0, releases.pop(index))
except ValueError:
pass
else:
m.releasedate = releases[0][1].releasedate
m.inetref = str(movie.id)
if movie.collection:
m.collectionref = str(movie.collection.id)
if movie.releasedate:
m.year = movie.releasedate.year
for country, release in releases:
if release.certification:
m.certifications[country] = release.certification
for genre in movie.genres:
m.categories.append(genre.name)
for studio in movie.studios:
m.studios.append(studio.name)
for country in movie.countries:
m.countries.append(country.name)
for cast in movie.cast:
d = {
"name": cast.name,
"character": cast.character,
"department": "Actors",
"job": "Actor",
"url": "http://www.themoviedb.org/people/{0}".format(cast.id),
}
if cast.profile:
d["thumb"] = cast.profile.geturl()
m.people.append(d)
for crew in movie.crew:
d = {
"name": crew.name,
"job": crew.job,
"department": crew.department,
"url": "http://www.themoviedb.org/people/{0}".format(crew.id),
}
if crew.profile:
d["thumb"] = crew.profile.geturl()
m.people.append(d)
for backdrop in movie.backdrops:
m.images.append({"type": "fanart", "url": backdrop.geturl(), "thumb": backdrop.geturl(backdrop.sizes()[0])})
for poster in movie.posters:
m.images.append({"type": "coverart", "url": poster.geturl(), "thumb": poster.geturl(poster.sizes()[0])})
tree.append(m.toXML())
sys.stdout.write(etree.tostring(tree, encoding="UTF-8", pretty_print=True, xml_declaration=True))
sys.exit()
示例6: buildList
# 需要导入模块: from MythTV import VideoMetadata [as 别名]
# 或者: from MythTV.VideoMetadata import inetref [as 别名]
def buildList(query, opts):
# TEMPORARY FIX:
# replace all dashes from queries to work around search behavior
# as negative to all text that comes afterwards
query = query.replace('-',' ')
query = query.strip() # trim extra whitespace
# extract year from name -- note that we require a space before the year
# so we don't confuse movie names for years (example: "2012 - 2009",
# a 2009 movie); also note that we accept optional paranthesis around
# the year:
yearRegex = re.compile(r"\s\(?((19|20)[0-9]{2})\)?$")
year = yearRegex.search(query)
if year is not None:
year = year.group(1)
# if no year was found, we'll pass year=None to searchMovie,
# which is the default anyway
# get rid of the year (if any) from the query text, because
# it causes bad TMDB results
query = yearRegex.sub("", query)
query = query.strip()
from MythTV.tmdb3 import searchMovie
from MythTV import VideoMetadata
from lxml import etree
results = iter(searchMovie(query, locale=None, adult=False, year=year))
tree = etree.XML(u'<metadata></metadata>')
mapping = [['runtime', 'runtime'], ['title', 'originaltitle'],
['releasedate', 'releasedate'], ['tagline', 'tagline'],
['description', 'overview'], ['homepage', 'homepage'],
['userrating', 'userrating'], ['popularity', 'popularity']]
count = 0
while True:
try:
res = results.next()
except StopIteration:
# end of results
break
except IndexError:
# unexpected end of results
# we still want to return whatever we have so far
break
if res is None:
# faulty data, skip it and continue
continue
m = VideoMetadata()
for i,j in mapping:
if getattr(res, j):
setattr(m, i, getattr(res, j))
m.inetref = str(res.id)
if res.title:
m.title = res.title
#TODO:
# should releasedate and year be pulled from the country-specific data
# or should it be left to the default information to cut down on
# traffic from searches
if res.releasedate:
m.year = res.releasedate.year
if res.backdrop:
b = res.backdrop
m.images.append({'type':'fanart', 'url':b.geturl(),
'thumb':b.geturl(b.sizes()[0])})
if res.poster:
p = res.poster
m.images.append({'type':'coverart', 'url':p.geturl(),
'thumb':p.geturl(p.sizes()[0])})
tree.append(m.toXML())
count += 1
if count >= 60:
# page limiter, dont want to overload the server
break
sys.stdout.write(etree.tostring(tree, encoding='UTF-8', pretty_print=True,
xml_declaration=True))
sys.exit(0)