用于管理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 查看哈希值)