[z3-five] getUtilitiesFor() returns nothing

Andreas Jung lists at andreas-jung.com
Sun May 1 14:39:30 CEST 2005


Hi,

I restructured the TXNG 3 source so that the core implementation can be 
used as package...so far so good.
The configure.zcml under Products/TextIndexNG3 contains several statements 
of the form:


  <utility
      provides="textindexng.interfaces.IConverter"
      component="textindexng.converters.doc.DocConverter"
      name="application/vnd.ms-word"
      />


Inside a browser view class there is the following method:

    def get_converters(self):
        """ return all available converters """

        from zope.app import zapi
        from textindexng.interfaces import IConverter
        print [x for x in zapi.getUtilitiesFor(IConverter)]
        return zapi.getUtilitiesFor(IConverter)

But the getUtilitiesFor() call always returns nothing. In my case
textindexng/interfaces contains several files with interfaces and all
interfaces are aliased in interfaces/__init__.py. The "textindexng"
package itself lives unter Products/TextIndexNG3 and sys.path is
extended in Products/TextIndexNG3/__init__.py to be able to import
the "textindexng" package without the need to use "Products.TextIndexNG3"
in imports....so any ideas why the utility machinery refuses to
return the registered utilities for the given interface?

Andreas






More information about the z3-five mailing list