一种注册表和适配器,用于将各种视频共享站点的URL转换为嵌入代码。
p4a.videoembed的Python项目详细描述
概述
用于转换各种视频共享站点的url的注册表和适配器 嵌入代码。
这个包提供了一些用于转换url的函数和zope3组件 从普通的流媒体视频网站嵌入代码。目的是允许 对于提供用户输入的URL以显示嵌入视频的内容类型 基于那个网址。这是为了避免用户输入原始的HTML嵌入 有潜在危险和麻烦的代码。它还允许 动态缩放生成的嵌入代码以适应页面布局。
部件
本产品的核心是一组命名适配器。这些适配器适应 字符串(URL)和整数(宽度)并返回Unicode嵌入代码。 目前,为以下视频共享站点提供了适配器:
- youtube http://www.youtube.com/
- 谷歌视频http://video.google.fr
- 雅虎视频http://video.yahoo.com/
- revver(包括http://revver.com和one.revver.com)
- 维梅奥http://vimeo.com
- vmixhttp://vmix.com
- blip.tvhttp://blip.tv
- 如果lmhttp://ifilm.com
- MySpacehttp://vids.myspace.com
- 元安全http://metacafe.com
- 大学幽默http://collegehumor.com
- 车辆http://veoh.com
- 使用http://www.longtailvideo.com/players/jw-flv-player的Flash视频(.flv)
- (.mov.qt.m4v)>;原始版本qt嵌入
- vh1http://vh1.com
- 带电泄漏http://liveleak.com
- 视频侦探http://videodetective.com
- 日常运动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" />
您可以选择提供整数“index”作为 检查以确定检查的相对顺序 (更具体的检查应该更早进行)。
获取嵌入代码
根据您的用例,有几种方法可以生成嵌入代码。 最简单的方法是对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的视图从对象生成url 实现或适用于ILinkProvider或使用显式URL的 从任何物体。
在所有这些方法中,适配器检查 适配器已注册并为给定的url找到合适的适配器。
我希望你觉得这个有用。
作者:alec mitchell<;apm13@columbia.edu>; 赞助商:每日卷轴http://www.thedailyreel.com
VideoEmbed的更改日志
视频嵌入-1.2(2009-05-17)
- fix ComponentLookupError import from zope.component [toutpt]
- removed unused imports reported by pyflakes [tom_gross]
- add partial Dailymotion support [toutpt]
视频嵌入-1.1(2008-04-09)
- added Brightcove support [Nate Aune]
视频嵌入-1.1b1(2008-02-14)
- added partial ustream.tv support [Rocky Burt] r1672
- added code to extract URL to FLV file from Youtube and Blip.tv (Ross Patterson) r1875 and r1879
视频嵌入-1.0alpha1(2007-04-29)
- Initial public release. [Rocky Burt]
视频嵌入-0.1(未发布)
- Initial package structure. [zopeskel]