本文整理汇总了Python中weboob.capabilities.video.BaseVideo类的典型用法代码示例。如果您正苦于以下问题:Python BaseVideo类的具体用法?Python BaseVideo怎么用?Python BaseVideo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了BaseVideo类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: video_info
def video_info(url):
"""Fetch info about a video using youtube-dl
:param url: URL of the web page containing the video
:rtype: :class:`weboob.capabilities.video.Video`
"""
if not MediaPlayer._find_in_path(os.environ['PATH'], 'youtube-dl'):
raise Exception('Please install youtube-dl')
try:
j = json.loads(subprocess.check_output(['youtube-dl', '-f', 'best', '-J', url]))
except subprocess.CalledProcessError:
return
v = BaseVideo(id=url)
v.title = j.get('title') or NotAvailable
v.ext = j.get('ext') or NotAvailable
v.description = j.get('description') or NotAvailable
v.url = j['url']
v.duration = j.get('duration') or NotAvailable
v.author = j.get('uploader') or NotAvailable
v.rating = j.get('average_rating') or NotAvailable
if j.get('thumbnail'):
v.thumbnail = Thumbnail(j['thumbnail'])
d = j.get('upload_date', j.get('release_date'))
if d:
v.date = parse_date(d)
return v
示例2: create_video_from_json
def create_video_from_json(self, _video):
video = BaseVideo()
video.id = u'%s' % _video['id']
video.backend = u'%s' % _video['id'].split('@')[-1]
if 'url' in _video.keys():
video.url = u'%s' % _video['url']
if 'thumbnail' in _video.keys() and _video['thumbnail'] and 'url' in _video['thumbnail'].keys():
video.thumbnail = BaseImage()
video.thumbnail.url = u'%s' % _video['thumbnail']['url']
else:
video.thumbnail.url = u''
video.title = u'%s' % _video['title']
if _video['date']:
_date = re.search('(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}).*', _video['date'])
try:
datetime.strptime(_date.group(1), '%Y-%m-%d %H:%M:%S')
except TypeError:
datetime(*(time.strptime(_date.group(1), '%Y-%m-%d %H:%M:%S')[0:6]))
video.description = u'%s' % _video['description']
video.author = u'%s' % _video['author']
if _video['duration']:
_duration = _video['duration'].split(':')
video.duration = timedelta(hours=int(_duration[0]), minutes=int(_duration[1]), seconds=int(_duration[2]))
return video
示例3: separate_collections_and_videos
def separate_collections_and_videos(self, objs):
videos = []
categories = []
for obj in objs:
if self.is_category(obj):
categories.append(self.create_category_from_json(obj))
else:
video = BaseVideo()
video.id = obj['id'].split('@')[0]
video.backend = obj['id'].split('@')[-1]
videos.append(video)
return categories, videos
示例4: get_video
def get_video(self, _id, video=None):
if not video:
video = BaseVideo(_id)
new_video = video_info(_id)
if not new_video:
return
video.ext = u'm3u8'
for k, v in new_video.iter_fields():
if not empty(v) and empty(getattr(video, k)):
setattr(video, k, v)
return video
示例5: parse_video
def parse_video(self, _video, category):
video = BaseVideo(u'%s#%s' % (_video['code'], category))
video.title = unicode(_video['title'])
video._video_code = unicode(_video['code'])
video.ext = u'mp4'
if 'runtime' in _video:
video.duration = timedelta(seconds=int(_video['runtime']))
if 'description' in _video:
video.description = unicode(_video['description'])
renditions = sorted(_video['rendition'], key=lambda x: 'bandwidth' in x and x['bandwidth']['code'], reverse=True)
video.url = unicode(max(renditions, key=lambda x: 'bandwidth' in x)['href'])
return video
示例6: parse_video
def parse_video(self, _video, category):
video = BaseVideo(u"%s#%s" % (_video["code"], category))
video.title = unicode(_video["title"])
video._video_code = unicode(_video["code"])
video.ext = u"mp4"
if "runtime" in _video:
video.duration = timedelta(seconds=int(_video["runtime"]))
if "description" in _video:
video.description = unicode(_video["description"])
renditions = sorted(
_video["rendition"], key=lambda x: "bandwidth" in x and x["bandwidth"]["code"], reverse=True
)
video.url = unicode(max(renditions, key=lambda x: "bandwidth" in x)["href"])
return video
示例7: __init__
def __init__(self, *args, **kwargs):
BaseVideo.__init__(self, *args, **kwargs)
self.ext = u'wmv'
示例8: __init__
def __init__(self, *args, **kwargs):
BaseVideo.__init__(self, *args, **kwargs)
# not always flv...
self.ext = NotAvailable
示例9: __init__
def __init__(self, *args, **kwargs):
BaseVideo.__init__(self, *args, **kwargs)
self.nsfw = False
self.ext = u'mp4'
示例10: __init__
def __init__(self, *args, **kwargs):
BaseVideo.__init__(self, *args, **kwargs)
self.nsfw = True
示例11: parse_movie
def parse_movie(self, movie):
video = BaseVideo(u'%s#%s' % (movie['code'], 'movie'))
video.title = unicode(movie['trailer']['name'])
video._video_code = unicode(movie['trailer']['code'])
video.ext = u'mp4'
if 'poster' in movie:
video.thumbnail = Thumbnail(movie['poster']['href'])
video.thumbnail.url = unicode(movie['poster']['href'])
tdate = movie['release']['releaseDate'].split('-')
day = 1
month = 1
year = 1901
if len(tdate) > 2:
year = int(tdate[0])
month = int(tdate[1])
day = int(tdate[2])
video.date = date(year, month, day)
if 'userRating' in movie['statistics']:
video.rating = movie['statistics']['userRating']
elif 'pressRating' in movie['statistics']:
video.rating = movie['statistics']['pressRating'] * 2
video.rating_max = 5
if 'synopsis' in movie:
video.description = unicode(movie['synopsis'].replace('<p>', '').replace('</p>', ''))
elif 'synopsisShort' in movie:
video.description = unicode(movie['synopsisShort'].replace('<p>', '').replace('</p>', ''))
if 'castingShort' in movie:
if 'directors' in movie['castingShort']:
video.author = unicode(movie['castingShort']['directors'])
if 'runtime' in movie:
video.duration = timedelta(seconds=int(movie['runtime']))
return video
示例12: parse_movie
def parse_movie(self, movie):
video = BaseVideo(u"%s#%s" % (movie["code"], "movie"))
video.title = unicode(movie["trailer"]["name"])
video._video_code = unicode(movie["trailer"]["code"])
video.ext = u"mp4"
if "poster" in movie:
video.thumbnail = BaseImage(movie["poster"]["href"])
video.thumbnail.url = unicode(movie["poster"]["href"])
tdate = movie["release"]["releaseDate"].split("-")
day = 1
month = 1
year = 1901
if len(tdate) > 2:
year = int(tdate[0])
month = int(tdate[1])
day = int(tdate[2])
video.date = date(year, month, day)
if "userRating" in movie["statistics"]:
video.rating = movie["statistics"]["userRating"]
elif "pressRating" in movie["statistics"]:
video.rating = movie["statistics"]["pressRating"] * 2
video.rating_max = 5
if "synopsis" in movie:
video.description = unicode(movie["synopsis"].replace("<p>", "").replace("</p>", ""))
elif "synopsisShort" in movie:
video.description = unicode(movie["synopsisShort"].replace("<p>", "").replace("</p>", ""))
if "castingShort" in movie:
if "directors" in movie["castingShort"]:
video.author = unicode(movie["castingShort"]["directors"])
if "runtime" in movie:
video.duration = timedelta(seconds=int(movie["runtime"]))
return video