plone的通用内容迁移框架。
Products.contentmigration的Python项目详细描述
内容迁移实用程序
作者:martin aspeli<;和其他人
根据GNU Lesser General Public License(LGPL)2.0版发布
这是一个通用的内容迁移框架,可以帮助您编写 您自己的内容迁移。它本身没有用户界面和价值,但是 使编写特定类型的内容迁移变得容易。
这取代了atcontenttypes迁移框架,并提供了三个有用的 扩展名:
CustomQueryWalker可用于指定更具体的目录查询 供步行者使用(例如,实际迁移哪些内容)。这个罐头 与任何迁移程序一起使用。
BaseInlineMigrator与BaseMigrator类似,但不通过 将旧对象复制到临时位置,创建新对象并 应用迁移方法。相反,迁移方法被应用在适当的地方。 这大大简化了代码,因为属性、本地角色等。 不需要复制。
请注意,basemigrator在self.old和self.new方面的工作方式是 正在迁移的对象,BaseInlineMigrator只有一个对象, 存储在self.obj中。这可以与任何助行器一起使用。
这个类的扩展名为fieldactionmigrator,它使用 原型字段的基于操作的迁移框架,可在field.py中找到。 有关详细信息,请参阅该文件,但简要地说,您指定了一个列表 在存储级别迁移的属性,指示迁移程序 是否重命名、转换、取消设置或更改属性的存储。
完整信息请参见walker.py、migrator.py和field.py中的docstrings 细节。例如,请参见tests/cmtc.py和tests/testFieldAdmineration.py。