Skip to main content

用于管理 MOS 运行订单的 Python 库

项目描述

用于管理MOS运行命令的 Python 库。发音为mos-ro-manager

https://mosromgr.readthedocs.io/en/latest/_images/mos.jpg

该库提供了对 MOS 文件类型进行分类、处理和检查 MOS 消息文件以及将 MOS 文件合并为运行顺序的功能,并提供了一个“完整的”程序,包括在第一条消息 ( roCreate ) 和最后(roDelete)。

这可以用作库,使用mosromgr 模块中提供的实用程序,命令行命令mosromgr可用于处理 MOS 文件目录或 S3 存储桶中的文件夹。

该库由BBC 新闻实验室团队开发。

用法

命令行

检查 MOS 文件:

$ mosromgr inspect -f 53783448-roStoryReplace.mos.xml
53783448-roStoryReplace.mos.xml: StoryReplace
REPLACE STORY: OM_5.765650;OM_5.765654,5.765650.7 WITH:
    STORY: OM_5.765650;OM_5.765654,5.765650.7

合并目录newsnight中的所有 MOS 文件并保存在FINAL.xml中:

$ mosromgr merge -f newsnight/* -o FINAL.xml

图书馆

加载一个roCreate文件并查看它的故事:

from mosromgr.mostypes import RunningOrder

ro = RunningOrder.from_file('roCreate.mos.xml')

for story in ro.stories:
    print(story.slug)

将单个roStorySend合并到roCreate并将文件输出到新文件:

from mosromgr.mostypes import RunningOrder, StorySend

ro = RunningOrder.from_file('roCreate.mos.xml')
ss = StorySend.from_file('roStorySend.mos.xml')

ro += ss

with open('final.mos.xml', 'w') as f:
    f.write(str(ro))

如果您要自动化此过程,您不一定知道要使用哪种 MOS 类型,因此您可以从基类MosFile构造一个对象,该对象将自动对您的文件进行分类:

>>> from mosromgr.mostypes import MosFile
>>> mf1 = MosFile.from_file('roCreate.mos.xml')
>>> mf1
<RunningOrder 1000>
>>> mf2 = MosFile.from_file('roStorySend.mos.xml')
>>> mf2
<StorySend 1001>

使用MosCollection将对所有给定文件的多种 MOS 类型进行排序和分类,允许您在完整或部分完整的程序中处理 MOS 文件的集合:

from mosromgr.moscollection import MosCollection

mos_files = ['roCreate.mos.xml', 'roStorySend.mos.xml', 'roDelete.mos.xml']
mc = MosCollection.from_files(mos_files)

mc.merge()
with open('final.mos.xml', 'w') as f:
    f.write(str(mc))

文档

https://mosromgr.readthedocs.io/提供了全面的文档

文档遵循​​Diátaxis系统,因此分为四种文档模式:教程、操作指南、技术参考和解释。

问题和疑问

问题可以在讨论板上提出,问题可以在问题跟踪器上提出。

贡献

源代码可以在 GitHub 的github.com/bbc/mosromgr上找到。

欢迎投稿。请参阅贡献指南

贡献者

执照

根据Apache 许可证 2.0 版获得许可

接触

要与维护者取得联系,请联系 BBC 新闻实验室团队: bbcnewslabsteam @ bbc 公司_ 英国

https://mosromgr.readthedocs.io/en/latest/_images/bbcnewslabs.png

项目详情


下载文件

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

源分布

mosromgr-0.10.0.tar.gz (21.3 kB 查看哈希

已上传 source

内置分布

mosromgr-0.10.0-py3-none-any.whl (22.7 kB 查看哈希

已上传 py3