主要是无状态的微服务框架,用于动态生成各种文件类型的缩略图和预览。

omnic的Python项目详细描述


OmniC Logo

全向转换器

Join the chat at https://gitter.im/omniconverter/LobbyBuild StatusPyPIPyPI version

主要是无状态的微服务,用于生成 各种各样的文件类型。包括电池,但设计成 将框架扩展到任意转换管道中。

omni转换器(可以缩写为omnic或omnic)是免费软件, 根据GPL 3.0授权。

  • wip警告:omnic仍然是“未发布的软件”,这是一个正在进行的工作。 api会发生快速变化。我打算释放第一个马厩 今年年底前(2017年)的版本。

码头工人

此回购协议为使用omnic提供了一个(非常庞大的)dockerfile。这个 优点是您不必担心跟踪系统依赖项 利用内置的转换图。

  1. 在您的计算机上安装并配置Docker
  2. 建立图像:docker build .
  3. 运行图像:docker run -it-p 127.0.0.1:8080:8080 <IMAGE HASH>
  4. 转到http://127.0.0.1:8080/admin/查看管理界面演示

运行测试套件:docker run -it <IMAGE HASH> py.test

管理

从这里您可以粘贴到资源的url中,omnic将尝试 显示为缩略图。在本例中,obj文件(3d模型格式) 一个小号被粘贴进去,并生成一个200x200的缩略图:

Admin interface screenshot

在缩略图的右侧有一个HTML片段(的源代码 缩略图在左边),一个按钮将带您进入转换图 对于该类型:

Admin graph screenshot

使用PIP安装

如果你想在Docker之外运行,你可以直接安装在 您的机器,前提是您至少安装了Python3.5。第一步 正在安装python包:

pip install omnic

如果要运行webserver,则需要安装一些额外的 依赖关系:

pip install sanic jinja2 uvloop

文件

什么是Omnic?

Omnic可以做很多事情。很可能你会想要它 没有(任何其他)后端代码的可视化和缩略图。它是受启发的 部分地通过White Noise-特别地,通过为媒体提供服务来降低复杂性。 Python。

即时媒体处理

  • omnic是一个web服务器,它监听如下请求 /media/thumb.png:200x200/?url=mysite.com/myimage.jpg,然后下载 myimage.jpg文件,生成它的200x200缩略图,并响应 用那个缩略图。
  • 它还可以执行文件类型转换,如 /media/PDF/?url=mysite.com/mydoc.doc用于 .doc文件。
  • omnic没有重新发明任何轮子,而是由a框架组成 缝合现有的CLI转换器< /强>并将它们全部暴露为 微服务

可扩展转换图

  • omnic的核心是“转换图”:您将url提供给一个文件,并且 所需的类型,并查找最短路径,即使它需要多个 转换
  • Omnic附带“电池”,并配有3D文件转换器, 文档、图像等–但如果这还不够,只需要 添加自己的转换器的行数不多

缓存

  • 由于转换很慢,每个步骤都被缓存,因此只执行一次, 在生产中,它应该位于上游缓存或cdn之后
  • 因此,omnic可以用更简单的 解决方案,使开发环境简单得多 生产和可能减少要加载的工作进程/队列缩放问题 平衡问题

javascript框架

  • omnic附带了一些js来平滑体验:对于非缓存媒体, 它最初将提供一个占位符以避免超时,bUT和 包含js代码片段转换为 完成
  • omnic还提供了一个可选的javascript查看器系统 转换系统:例如,word文档最初可能显示 作为JPG缩略图,然后单击“以模式显示基于PDF的查看器”

替换构建步骤

  • Omnic的转换概念非常广泛和通用:例如, 它可以从es6源构建小型js包
  • 理想情况下,omnic可以替代生产过程中的大部分构建步骤 部署,使发布简单地将新代码部署到应用服务器,以及 在第一次请求时,所有其他事情都会按需要完成(例如由测试人员完成 登台时)

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

推荐PyPI第三方库


热门话题
是否可以将Ghost CMS与Spring Boot(Java)一起使用?如果没有,还有好的选择吗?   java简单XML框架解析器在Android中发布XML解析   java如何将数组列表设置为listview中的图像视图   java从JPA查找GUI   java为什么XSSFWorksheet的getName()不起作用?   java为什么Eclipse不记得我的启动配置?   使用java处理Json API响应   调用AlertDialog。按下后退按钮时Android片段的Java生成器   在Android中以编程方式选择项目ListView   java交错网格布局用于从实时数据库加载图像,不显示   java如何找到测试套件。Testng中的xml执行状态   java如何使用Appium通过selenium找到警报对话框?   java如何避免使用Johann的   学生编辑不起作用(Java+Spring+MySQl)?   EclipseMilo中的java身份验证clientserver   java Solr DIH获取大小无效   j_安全检查上的java筛选器不工作。Glassfish V3 Netbeans 6.8