用于管理 MOS 运行订单的 Python 库
项目描述
用于管理MOS运行命令的 Python 库。发音为mos-ro-manager。
该库提供了对 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上找到。
欢迎投稿。请参阅贡献指南。
贡献者
执照
接触
要与维护者取得联系,请联系 BBC 新闻实验室团队: bbcnewslabsteam @ bbc 。公司_ 英国
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
mosromgr-0.10.0.tar.gz
(21.3 kB
查看哈希)
内置分布
mosromgr-0.10.0-py3-none-any.whl
(22.7 kB
查看哈希)