用于将各种视频分享网站的URL转换为嵌入代码的注册表和适配器。
项目描述
概述
用于将各种视频分享网站的URL转换为嵌入代码的注册表和适配器。
此包提供了一些函数和zope3组件,用于将常见流媒体视频网站的URL转换为嵌入代码。目的是允许提供用户输入URL的内容类型显示基于该URL的嵌入视频。这是为了避免允许用户输入原始HTML嵌入代码,这可能是危险的并且很麻烦。它还允许动态调整生成的嵌入代码以适应您的页面布局。
组件
本产品的核心是一组命名适配器。这些适配器将字符串(URL)和整数(宽度)转换为Unicode嵌入代码。目前,已提供以下视频分享网站的适配器:
YouTube http://www.youtube.com/
Google Video http://video.google.fr
Yahoo Video http://video.yahoo.com/
Revver(包括http://revver.com和one.revver.com)
Vimeo http://vimeo.com
Vmix http://vmix.com
Blip.tv http://blip.tv
iFilm http://ifilm.com
MySpace http://vids.myspace.com
MetaCafe http://metacafe.com
College Humor http://collegehumor.com
Veoh http://veoh.com
使用http://www.longtailvideo.com/players/jw-flv-player的flash视频(.flv)
(.mov .qt .m4v) ># 原始Revver QT嵌入
VH1 http://vh1.com
Live Leak http://liveleak.com
Video detective http://videodetective.com
Dailymotion http://www.dailymotion.com
添加更多适配器只需创建一个检查URL是否适合您想要网站的函数,以及另一个将其转换为嵌入代码的函数。您将后者函数注册为命名适配器,例如
<adapter for="str int" name="youtube" provides=".interfaces.IEmbedCode" factory=".converters.youtube_generator" />
并将URL检查函数注册为同名的实用工具
<utility provides=".interfaces.IURLChecker" component=".converters.youtube_check" name="youtube" />
您可以选择提供一个整数“索引”作为检查器的属性,以确定检查的相对顺序(更具体的检查应放在前面)。
获取嵌入代码
根据您的使用情况,有几种生成嵌入代码的方法。最简单的是对URL进行单次适配
from p4a.videoembed.interfaces import IEmbedCode embed_code = IEmbedCode(url)
这会得到预设宽度的嵌入(425px),要获取自定义宽度,您可以多次适配
from zope.component import getMultiAdapter embed_code = getMultiAdapter((url, width), IEmbedCode)
还有一个方便的视图,可用于从受限代码中调用,它可选地接受URL和宽度并返回一个嵌入代码。如果省略了URL,则将尝试通过适配到ILinkProvider(表示存在getLink方法)从上下文中获取一个。
<div class="EmbedCode" tal:define="embed_view nocall:context/@@video-embed.htm; default_embed embed_view; custom_width python:embed_view(width=500); custom_url python:embed_view(url='http://www.youtube.com/watch?v=1111', width=250)" tal:replace="structure default_embed" />
这显示了您如何使用tal中的视图从实现或适配ILinkProvider的对象生成URL,或使用任何对象中的显式URL。
在这些所有方法中,适配器检查全局实用工具,该实用工具已注册到命名适配器,并找到适合给定URL的适配器。
希望这对您有帮助。
作者:Alec Mitchell <apm13@columbia.edu> 赞助商:The Daily Reel http://www.thedailyreel.com
videoembed的变更日志
videoembed - 1.2 (2009-05-17)
修复从zope.component导入的ComponentLookupError [toutpt]
删除pyflakes报告的未使用导入 [tom_gross]
添加部分Dailymotion支持 [toutpt]
videoembed - 1.1 (2008-04-09)
添加Brightcove支持 [Nate Aune]
videoembed - 1.1b1 (2008-02-14)
添加部分ustream.tv支持 [Rocky Burt] r1672
添加从YouTube和Blip.tv提取URL到FLV文件的代码(Ross Patterson)r1875和r1879
videoembed - 1.0alpha1 (2007-04-29)
首次公开发布。 [Rocky Burt]
videoembed - 0.1 (未发布)
初始包结构。 [zopeskel]
项目详情
p4a.videoembed-1.3.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0fe117599d3d3053ab235d721173faa5961b2365f6fd110f22dbb88ece23fc76 |
|
MD5 | 983c6b8223c98ed52a6ed4bfa514b09f |
|
BLAKE2b-256 | 33528af0396970a8e8e1144e2a6a7fc020531cf18b19b78da08ec0be22dc7b19 |