跳转到主要内容

用于管理MOS运行顺序的Python库

项目描述

Python库,用于管理MOS运行顺序。发音为mos-ro-manager

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

该库提供了对MOS文件类型进行分类、处理和检查MOS消息文件的功能,以及将MOS文件合并到运行顺序中,并提供一个包含从第一条消息(roCreate)到最后一条消息(roDelete)之间所做的所有添加和更改的“完成”节目。

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

该库由BBC News Labs团队开发。

用法

命令行

检查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.co.uk

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

项目详情


下载文件

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

源代码分发

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

上传时间 源代码

构建分发

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

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面