用于管理MOS运行顺序的Python库
项目描述
Python库,用于管理MOS运行顺序。发音为mos-ro-manager。
该库提供了对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
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
mosromgr-0.10.0.tar.gz (21.3 kB 查看哈希值)
构建分发
mosromgr-0.10.0-py3-none-any.whl (22.7 kB 查看哈希值)