[Grok-dev] Catalog/Indexes/Search error

Kathy Manwaring kathy at perfectnotes.com.au
Tue Dec 29 03:05:29 EST 2009


Hi all (but particularly Sebastian Ware):

After a day spent trying to get Catalog/Indexes happening, I ended up
going back to try the tutorial:
http://grok.zope.org/documentation/how-to/implementing-search

Having done the tutorial, changing the minimum versions to those required
by the packages and doing the required from xx import yy lines, I get the
following error:
Module paste.evalexception.middleware:306 in respond
<<          try:
                __traceback_supplement__ = errormiddleware.Supplement,
self, environ
                app_iter = self.application(environ,
detect_start_response)
                try:
                    return_iter = list(app_iter)>>  app_iter =
self.application(environ, detect_start_response)
Module paste.translogger:68 in __call__
<<              self.write_log(environ, method, req_uri, start, status,
bytes)
                return start_response(status, headers)
            return self.application(environ, replacement_start_response)

        def write_log(self, environ, method, req_uri, start, status,
bytes):>>  return self.application(environ,
replacement_start_response)
Module zope.app.wsgi:55 in __call__
<<          handle_errors = environ.get('wsgi.handleErrors', True)

            request = publish(request, handle_errors=handle_errors)
response = request.response>>  request = publish(request,
handle_errors=handle_errors)
Module zope.publisher.publish:133 in publish
<<                              publication.afterTraversal(request, obj)

                                result = publication.callObject(request,
obj)
                                response = request.response
                                if result is not response:>>  result =
publication.callObject(request, obj)
Module grok.publication:89 in callObject
<<          if checker is not None:
                checker.check(ob, '__call__')
            return super(ZopePublicationSansProxy,
self).callObject(request, ob)>>  return
super(ZopePublicationSansProxy, self).callObject(request, ob)
Module zope.app.publication.zopepublication:167 in callObject         <<
        def callObject(self, request, ob):
            return mapply(ob, request.getPositionalArguments(), request)

        def afterCall(self, request, ob):>>  return mapply(ob,
request.getPositionalArguments(), request)

<grokui.admin.view.Add object at 0x031A05F0>


Module zope.publisher.publish:108 in mapply
<<
        if __debug__:
            return debug_call(obj, args)

        return obj(*args)>>  return debug_call(obj, args)
Module zope.publisher.publish:114 in debug_call
<<  def debug_call(obj, args):
        # The presence of this function allows us to set a pdb breakpoint
return obj(*args)

    def publish(request, handle_errors=True):>>  return obj(*args)
Module grokcore.view.components:64 in __call__
<<          if template is not None:
                return self._render_template()
            return mapply(self.render, (), self.request)

        def _render_template(self):>>  return mapply(self.render, (),
self.request)

<bound method Add.render of <grokui.admin.view.Add object at 0x031A05F0>>


Module zope.publisher.publish:108 in mapply
<<
        if __debug__:
            return debug_call(obj, args)

        return obj(*args)>>  return debug_call(obj, args)
Module zope.publisher.publish:114 in debug_call
<<  def debug_call(obj, args):
        # The presence of this function allows us to set a pdb breakpoint
return obj(*args)

    def publish(request, handle_errors=True):>>  return obj(*args)
Module grokui.admin.view:88 in render
<<                                          name=application)
            try:
                self.context[name] = app()
                self.flash(u'Added %s `%s`.' % (application, name))
            except DuplicationError:>>  self.context[name] = app()
Module zope.app.folder.folder:94 in __setitem__
<<              raise DuplicationError("name, %s, is already in use" % name)

            setitem(self, self.data.__setitem__, name, object)

        def __delitem__(self, name):>>  setitem(self,
self.data.__setitem__, name, object)
Module zope.app.container.contained:591 in setitem
<<      setitemf(name, object)
        if event:
            notify(event)
            notifyContainerModified(container)>>  notify(event)
Module zope.event:23 in notify
<<  def notify(event):
        for subscriber in subscribers:
            subscriber(event)>>  subscriber(event)
Module zope.component.event:26 in dispatch
<<  def dispatch(*event):
        # iterating over subscribers assures they get executed
        for ignored in zope.component.subscribers(event, None):
            pass
    zope.event.subscribers.append(dispatch)>>  for ignored in
zope.component.subscribers(event, None):
Module zope.component._api:130 in subscribers
<<          # Oh blast, no site manager. This should *never* happen!
            return []
        return sitemanager.subscribers(objects, interface)

    def handle(*objects):>>  return sitemanager.subscribers(objects,
interface)
Module zope.component.registry:290 in subscribers
<<
        def subscribers(self, objects, provided):
            return self.adapters.subscribers(objects, provided)

        def registerHandler(self,>>  return
self.adapters.subscribers(objects, provided)
Module zope.interface.adapter:535 in subscribers
<<              result = ()
                for subscription in subscriptions:
                    subscription(*objects)
            else:
                result = []>>  subscription(*objects)
Module zope.component.event:33 in objectEventNotify
<<  def objectEventNotify(event):
        """Event subscriber to dispatch ObjectEvents to interested
adapters."""
        adapters = zope.component.subscribers((event.object, event), None)
for adapter in adapters:
            pass # getting them does the work>>  adapters =
zope.component.subscribers((event.object, event), None)
Module zope.component._api:130 in subscribers
<<          # Oh blast, no site manager. This should *never* happen!
            return []
        return sitemanager.subscribers(objects, interface)

    def handle(*objects):>>  return sitemanager.subscribers(objects,
interface)
Module zope.component.registry:290 in subscribers
<<
        def subscribers(self, objects, provided):
            return self.adapters.subscribers(objects, provided)

        def registerHandler(self,>>  return
self.adapters.subscribers(objects, provided)
Module zope.interface.adapter:535 in subscribers
<<              result = ()
                for subscription in subscriptions:
                    subscription(*objects)
            else:
                result = []>>  subscription(*objects)
Module grok.meta:499 in __call__
<<          for name, index in self.indexes.items():
                try:
                    index.setup(catalog, name, self.context,
self.module_info)
                except DuplicationError:
                    raise GrokError(>>  index.setup(catalog, name,
self.context, self.module_info)
Module grok.index:89 in setup
<<                                           interface=context,
                                             field_callable=call,
                                             *self._args, **self._kw)

    class Field(IndexDefinition):>>  *self._args, **self._kw)
Module zope.app.container.btree:93 in __setitem__
<<
        def __setitem__(self, key, value):
            setitem(self, self._setitemf, key, value)

        def __delitem__(self, key):>>  setitem(self, self._setitemf, key,
value)
Module zope.app.container.contained:591 in setitem
<<      setitemf(name, object)
        if event:
            notify(event)
            notifyContainerModified(container)>>  notify(event)
Module zope.event:23 in notify
<<  def notify(event):
        for subscriber in subscribers:
            subscriber(event)>>  subscriber(event)
Module zope.component.event:26 in dispatch
<<  def dispatch(*event):
        # iterating over subscribers assures they get executed
        for ignored in zope.component.subscribers(event, None):
            pass
    zope.event.subscribers.append(dispatch)>>  for ignored in
zope.component.subscribers(event, None):
Module zope.component._api:130 in subscribers
<<          # Oh blast, no site manager. This should *never* happen!
            return []
        return sitemanager.subscribers(objects, interface)

    def handle(*objects):>>  return sitemanager.subscribers(objects,
interface)
Module zope.component.registry:290 in subscribers
<<
        def subscribers(self, objects, provided):
            return self.adapters.subscribers(objects, provided)

        def registerHandler(self,>>  return
self.adapters.subscribers(objects, provided)
Module zope.interface.adapter:535 in subscribers
<<              result = ()
                for subscription in subscriptions:
                    subscription(*objects)
            else:
                result = []>>  subscription(*objects)
Module zope.component.event:33 in objectEventNotify
<<  def objectEventNotify(event):
        """Event subscriber to dispatch ObjectEvents to interested
adapters."""
        adapters = zope.component.subscribers((event.object, event), None)
for adapter in adapters:
            pass # getting them does the work>>  adapters =
zope.component.subscribers((event.object, event), None)
Module zope.component._api:130 in subscribers
<<          # Oh blast, no site manager. This should *never* happen!
            return []
        return sitemanager.subscribers(objects, interface)

    def handle(*objects):>>  return sitemanager.subscribers(objects,
interface)
Module zope.component.registry:290 in subscribers
<<
        def subscribers(self, objects, provided):
            return self.adapters.subscribers(objects, provided)

        def registerHandler(self,>>  return
self.adapters.subscribers(objects, provided)
Module zope.interface.adapter:535 in subscribers
<<              result = ()
                for subscription in subscriptions:
                    subscription(*objects)
            else:
                result = []>>  subscription(*objects)
Module zope.app.catalog.catalog:162 in indexAdded
<<           True
           """
        index.__parent__.updateIndex(index)

    def indexDocSubscriber(event):>>  index.__parent__.updateIndex(index)
Module zope.app.catalog.catalog:104 in updateIndex
<<
        def updateIndex(self, index):
            for uid, obj in self._visitSublocations() :
                index.index_doc(uid, obj)>>  for uid, obj in
self._visitSublocations() :
Module zope.app.catalog.catalog:99 in _visitSublocations
<<                  return
            if uidutil is None:
                uidutil = component.getUtility(IIntIds)
            for uid in uidutil:
                yield uid, uidutil.getObject(uid)>>  uidutil =
component.getUtility(IIntIds)
Module zope.component._api:207 in getUtility

context	None

interface	<InterfaceClass zope.app.intid.interfaces.IIntIds>

name	''

utility	None


<<      if utility is not None:
            return utility
        raise ComponentLookupError(interface, name)

    def queryUtility(interface, name='', default=None, context=None):>>
raise ComponentLookupError(interface, name)
ComponentLookupError: (<InterfaceClass zope.app.intid.interfaces.IIntIds>,
'')

(The last line is exactly the same as I got after putting Catalog into my
own software).

Can someone please tell me what has gone wrong and how to fix it?

Thanks,
Kathy






More information about the Grok-dev mailing list