用于在树状数据结构之间进行diff运算的实用函数库。
treediffer的Python项目详细描述
树人
一个实用函数库,用于计算树状数据结构之间的差异。在
安装
pip install treediffer
使用示例
给定studio tree JSON存档版本maintree
和stagingtree
使用./contentcuration/manage.py archivechannel ...
生成的Studio频道,
可以使用以下方法计算它们之间的树差异:
此代码示例使用基于设置的studio预置的“高级”API
所有必要的查找(node_id、content_id、parent、assertment_items等)
因此,差异逻辑会起作用。完整脚本请参见examples/studiodiffferpoc.py
。在
稻谷树分化
请参见examples/ricecookerdiffpoc.py
以了解区分ricecooker树的类似脚本
在每个内容集成脚本运行后保存在chefdata/trees/
目录中。在
可选diff格式
使用format="restructured"
对简化的差异和组添加进行后处理
以及删除到逻辑子树中(例如,如果整个主题被删除,则显示为子树)。
这是在命令行上打印时的默认设置,如示例脚本中所示。在
在简化和移动检测(用于调试)之前,使用format="raw"
查看差异。在
测试
pytest
以及
pytest --cov=src/treediffer tests/
文件
请访问https://treediffer.readthedocs.io/以了解有关如何工作的更多信息 {尤其是^见^ 关于diff的结构和 https://treediffer.readthedocs.io/en/latest/design.html用于API高级用法。在
待办事项
- [x] 完成基本功能
- [x] 添加示例ricecooker Difference
- [x] 添加示例工作室差异
- []添加组合删除、添加、移动和修改的厨房水槽测试
- 项目
标签: