一种注册表和适配器,用于将各种视频共享站点的URL转换为嵌入代码。

p4a.videoembed的Python项目详细描述


概述

用于转换各种视频共享站点的url的注册表和适配器 嵌入代码。

这个包提供了一些用于转换url的函数和zope3组件 从普通的流媒体视频网站嵌入代码。目的是允许 对于提供用户输入的URL以显示嵌入视频的内容类型 基于那个网址。这是为了避免用户输入原始的HTML嵌入 有潜在危险和麻烦的代码。它还允许 动态缩放生成的嵌入代码以适应页面布局。

部件

本产品的核心是一组命名适配器。这些适配器适应 字符串(URL)和整数(宽度)并返回Unicode嵌入代码。 目前,为以下视频共享站点提供了适配器:

但是添加更多的内容就像创建一个函数来检查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]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Android Wifi中筛选相同的SSID?   Java中重写接口中异常处理的泛型   java“无效转义序列(有效的是\b\t\n\f\r\”\“\”\)”语法错误   使用JNDI的java NameReadyBoundException   java如何在这个程序上执行算法   java为什么我的应用程序在调试时崩溃而应用程序停止?   Java:while循环未检测到中断条件,但如果块检测到   java如何快速使用jfreechart创建的折线图   java将输入放入JSTL会话变量,以便稍后在屏幕上显示   java在spring boot中加载外部JAR   java Apache NiFi无法使用ojdbc6连接到Oracle 12c。jar或ojdbc8。罐子   java解释StringToWordVector()Weka的输出   java charAt()找不到符号   使用mpjexpress的java阅读控制台输入