跳转到主要内容

XML-RPC文档转换服务器

项目描述

安装Cloudooo

$ python2.6 setup.py install

警告
  • 您必须在此python中安装setuptools>=0.6c11。

安装LibreOffice / OpenOffice.org

安装LibreOffice或OpenOffice.org。

创建配置文件

配置文件用于使用paster启动应用程序。$ cp ./cloudooo/samples/samples.conf . # 复制到当前文件夹

下一步是在cloudooo.conf中定义一些属性
  • working_path - 运行应用程序的文件夹。此文件夹需要创建。

  • uno_path - UNO库安装的文件夹(例如:/opt/libreoffice/basis-link/program/)

  • soffice_binary_path - soffice.bin安装的文件夹(例如:/opt/libreoffice/program/)

运行应用程序

$ paster serve ./cloudooo.conf

或作为守护进程运行

$ paster serve ./cloudoo.conf –daemon

停止应用程序

$ kill -1 PASTER_PID

警告:始终使用SIGHUP,因为只有使用此信号才能正确停止所有进程。

Cloudooo 描述

  • XMLRPC + WSGI 将成为连接 LibreOffice / OpenOffice.org 的桥梁,方便访问。这将实现一个 XMLRPC 服务器到 WSGI (Paster) 的集成。

  • PyUno 用于通过打开套接字连接到 LibreOffice / OpenOffice.org。所有功能将由 PyUno 处理。

  • 同一时间只有一个进程可以访问 LibreOffice / OpenOffice.org。

  • 所有客户端在连接到 XMLRPC 服务器时都接收到相同的对象(代理)。

管理 LibreOffice / OpenOffice.org 进程

  • 启动 'soffice.bin';- Pyuno 启动 'soffice.bin' 进程,通信通过套接字;- 'soffice.bin' 进程在后台运行;

  • 控制 'soffice.bin';- 如果套接字丢失连接,cloudooo 会杀死进程,重新启动进程并再次提交文件;

XMLRPC 服务器 - XMLRPC + WSGI

  • 将文档发送到 'soffice.bin' 并返回带有元数据的转换后的文档;
    • XMLRPC 接收一个文件并通过 Pyuno 连接到 'soffice.bin' 进程;

    • Pyuno 打开一个新文档,写入、添加元数据,并将编辑后的文档或转换成 xmlrpc 返回给用户;

    • 当最终使用 'soffice.bin' 时,应确保已正确终止;

  • 导出为其他格式;

  • 邀请文档并仅返回元数据;

  • 编辑文档的元数据;

  • 问题和可能的解决方案
    • 'soffice.bin' 卡住;- 终止进程,启动 'soffice.bin' 并再次提交文档(无需重新启动 cloudooo);

    • 'soffice.bin' 崩溃;- 终止进程,验证是否已杀死所有进程,启动 'soffice.bin' 并再次提交文档(无需重新启动 cloudooo);

    • 'soffice.bin' 接收到文档并卡住;- 如果 'soffice.bin' 不响应,则杀死进程并重新启动;

    • 发送的文档已损坏;- 将错误写入日志并验证进程是否不在内存中;

1.2.3 (2010-04-01)

  • Eggify 处理器

  • 配置文件告诉 cloudooo 哪个处理器必须被加载;

  • 更新界面(尚未实现);

1.2.2 (2010-02-07)

  • 不再使用 Xvfb;

1.2.1 (2010-01-21)

  • 提高 ERP5 兼容性;

1.2.0 (2010-01-19)

  • 支持 LibreOffice3.3rc3;

1.1.0 (2010-01-13)

  • 重构 runCloudOOoUnitTest.py 以更好地控制守护进程;

  • 使用 argparse 代替 optparse;

  • 重构测试以使用布尔断言来验证 True 或 False;

  • 使用 python-magic 根据 MIME 类型验证输出文档;

  • 将 cloudooo 的文件夹结构更改为将处理器、mimemapper 和与处理器相关的辅助程序放在与处理器相同的文件夹中;

  • 重构代码以使用 json 代替 jsonpickle;

  • 为 OOGranulate 添加 getTableItem、getTableItemList 和 getTableMatrix;

  • 为 OOGranulate 添加 getParagraphItemList 和 getParagraphItem;

  • 为 OOGranulate 添加 getImageItemList 和 getImage;

  • 添加 OdfDocument;

  • 添加 granulate 接口;

1.0.9

  • 使用 pkg_resources 获取辅助脚本;

  • 将内部脚本移动到辅助文件夹;

  • 从内部脚本中删除 cloudooo 作为依赖项;

  • 修改了传递给 OpenOffice.org 过滤器的方式;

1.0.8

  • 删除所有与 cloudooo 脚本路径相关的所有属性;

  • 根据您的 python eggs 使用所有脚本;

  • 修复了将电子表格转换为 html 时的错误;

1.0.7

  • 删除入口点,将其视为普通文件;

  • 使用 pkg_resources 搜索所有脚本文件;

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

cloudooo-1.2.3.tar.gz (21.8 kB 查看哈希值)

上传于 源代码

支持