3
我试图清理内容的注释(IAnnotations)卸载的Plone的附加。我成功地浏览了所有网站内容并删除了活动对象中的注释。清理注解对象
然而,CMFEditions /版本各地保持旧内容的副本,我不知道如何通过他们走,并删除他们对这些问题都是坏的注释。
除非我可以清理这些对象引用,除去附加的扩建一个后历史上失踪的对象编辑有内容注释时,开始越来越ZODB BrokenObject错误。
我试图清理内容的注释(IAnnotations)卸载的Plone的附加。我成功地浏览了所有网站内容并删除了活动对象中的注释。清理注解对象
然而,CMFEditions /版本各地保持旧内容的副本,我不知道如何通过他们走,并删除他们对这些问题都是坏的注释。
除非我可以清理这些对象引用,除去附加的扩建一个后历史上失踪的对象编辑有内容注释时,开始越来越ZODB BrokenObject错误。
也就是说讨厌。插件的另一个原因应该只对所有数据存储使用原始类型。
我有一些伪代码,可能让你关闭:
repo_tool = getToolByName(obj, "portal_repository")
if not repo_tool.isVersionable(obj):
return
history = repo_tool.getHistoryMetadata(obj)
if not history:
return
length = history.getLength(countPurged=False)
for i in xrange(length - 1, -1, -1):
try:
version = repo_tool.retrieve(obj, i)
annotations = IAnnotations(version.object)
del annotations[KEY_TO_DELETE]
except POSKeyError:
pass