[Zope] programmatically adding an index.

Andreas Jung lists at andreas-jung.com
Tue Feb 1 05:49:19 EST 2005



--On Dienstag, 1. Februar 2005 11:38 Uhr +0100 Joachim Schmitz 
<js at aixtraware.de> wrote:

> hi,
>
> in my Product I trying to programmatically create an index. like so:
>
> myCatalog.addIndex('id', 'FieldIndex'), this works fine, but when I try
> to specify the indexed-attribute like so:
>
> myCatalog.addIndex('name_sort','FieldIndex',
> extra={'indexed_attrs': 'name'})
>
> the new index does not include the indexed_attrs. This is because the
> __init__ of Products/PluginIndexes/common/UnIndex.py
> expects for extra an instance of the HTTPRequest.py record-class.
> and does not support the mapping interface for extra. Is this a bug or
> feature ?
>

Not a bug. As the doc say it expects a record object but not a mapping 
although a mapping
would be more elegant if you want to create indexes through Python and not 
TTW. Please
file a collector issue for this feature request. There is already some code 
in TXNG that handles
both record-style and mapping-like arguments.

-aj


More information about the Zope mailing list