【发布时间】:2012-06-15 01:23:25
【问题描述】:
我正在尝试根据此处的建议添加自定义目录索引:
My code 看起来像这样(h/t: supton):
from plone.indexer.decorator import indexer
from Products.ATContentTypes.interfaces.event import IATEvent
from Products.ATContentTypes.utils import DT2dt
@indexer(IATEvent)
def event_days(context, **kw):
start = DT2dt(context.getStartDate())
end = DT2dt(context.getEndDate())
delta = end - start
return delta.days
在以下 ZCML 注册:
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:five="http://namespaces.zope.org/five"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup">
<five:registerPackage package="." initialize=".initialize" />
<genericsetup:registerProfile
description="event_days_indexer"
directory="profiles/default"
name="default"
provides="Products.GenericSetup.interfaces.EXTENSION"
title="event_days_indexer"
/>
<adapter name="event_days" factory=".indexers.event_days" />
</configure>
一切似乎都加载得很好,但是当我创建一个测试事件并重新索引目录时,索引仍然是空的。我错过了什么?
【问题讨论】:
-
嗯,日志里有什么吗?
-
@Yuri: 如果有 AttributeError 就不会有。
-
@aclark:别告诉我你不知道如何在那个索引器中放一个
pdb.set_trace().. :-P -
@MartijnPieters 实际上我在函数上方有一个可以检查 IATEvent,但我没有想到更进一步(我希望有回溯)。