[z3-checkins] r43992 - z3/NudgeNudge/trunk/src/nudgenudge
philikon at codespeak.net
philikon at codespeak.net
Sat Jun 2 15:32:07 CEST 2007
Author: philikon
Date: Sat Jun 2 15:31:59 2007
New Revision: 43992
Modified:
z3/NudgeNudge/trunk/src/nudgenudge/app.py
Log:
Merge the 'indexes-refactoring' branch, even though grok doesn't expose
zc.catalog's ValueIndex yet (using FieldIndex for now).
Modified: z3/NudgeNudge/trunk/src/nudgenudge/app.py
==============================================================================
--- z3/NudgeNudge/trunk/src/nudgenudge/app.py (original)
+++ z3/NudgeNudge/trunk/src/nudgenudge/app.py Sat Jun 2 15:31:59 2007
@@ -1,8 +1,6 @@
import grok
+from grok import index
from zope import schema, component, interface
-from zope.app.intid import IntIds
-from zope.app.intid.interfaces import IIntIds
-from zope.app.catalog.catalog import Catalog
from zope.app.catalog.interfaces import ICatalog
from zope.app.authentication import PluggableAuthentication
from zope.app.authentication.principalfolder import (PrincipalFolder,
@@ -14,8 +12,6 @@
from zope.app.securitypolicy.interfaces import IRolePermissionManager
from zope.app.securitypolicy.role import LocalRole
-from zc.catalog.catalogindex import ValueIndex
-
from nudgenudge.interfaces import IReview
from nudgenudge.review import Review
@@ -23,10 +19,6 @@
grok.define_permission('nudge.EditReview')
grok.define_permission('nudge.DeleteReview')
-def setup_catalog(catalog):
- catalog['package_name'] = ValueIndex('package_name', IReview, False)
- catalog['author'] = ValueIndex('author', IReview, False)
-
def setup_pau(pau):
pau['principals'] = PrincipalFolder('nudge.principals.')
pau.authenticatorPlugins = ('principals',)
@@ -41,14 +33,20 @@
return factory
class NudgeNudge(grok.Application, grok.Container):
- grok.local_utility(IntIds, IIntIds) # needed for the catalog
- grok.local_utility(Catalog, ICatalog, setup=setup_catalog)
grok.local_utility(PluggableAuthentication, IAuthentication,
setup=setup_pau)
grok.local_utility(role_factory(u'Nudge Reviewers'), IRole,
name='nudge.Reviewers',
name_in_container='nudge.Reviewers')
+class ReviewIndexes(grok.Indexes):
+ grok.site(NudgeNudge)
+ grok.context(IReview)
+
+ # TODO would prefer to use zc.catalog's ValueIndex here
+ package_name = index.Field()
+ author = index.Field()
+
@grok.subscribe(NudgeNudge, grok.IObjectAddedEvent)
def grant_permissions(app, event):
role_manager = IRolePermissionManager(app)
@@ -60,7 +58,8 @@
self.results = []
if package:
catalog = component.getUtility(ICatalog)
- query = {'any_of': (package,)}
+ # TODO zc.catalog's ValueIndex has a nicer query interface
+ query = (package, package)
self.results = catalog.searchResults(package_name=query)
class CreateReview(grok.AddForm):
More information about the z3-checkins
mailing list