ztfy/utils/catalog/index.py
branchZTK-1.1
changeset 73 96079b5bdc1f
parent 70 82d8de021806
child 77 f332c2d642ad
equal deleted inserted replaced
72:d53c864723ea 73:96079b5bdc1f
    26 from zopyx.txng3.core.interfaces.ting import ITingIndex
    26 from zopyx.txng3.core.interfaces.ting import ITingIndex
    27 
    27 
    28 # import local interfaces
    28 # import local interfaces
    29 
    29 
    30 # import Zope3 packages
    30 # import Zope3 packages
    31 from zope.app import zapi
       
    32 from zope.catalog.attribute import AttributeIndex
    31 from zope.catalog.attribute import AttributeIndex
       
    32 from zope.component import createObject
    33 from zope.container.contained import Contained
    33 from zope.container.contained import Contained
    34 from zope.interface import implements
    34 from zope.interface import implements
    35 from zopyx.txng3.core import config
    35 from zopyx.txng3.core import config
    36 from zopyx.txng3.core.index import Index
    36 from zopyx.txng3.core.index import Index
    37 
    37 
    62                  splitter_additional_chars=config.defaults['splitter_additional_chars'],
    62                  splitter_additional_chars=config.defaults['splitter_additional_chars'],
    63                  storage=config.DEFAULT_STORAGE,
    63                  storage=config.DEFAULT_STORAGE,
    64                  splitter_casefolding=config.defaults['splitter_casefolding']):
    64                  splitter_casefolding=config.defaults['splitter_casefolding']):
    65         spaces = re.compile(r'\s+')
    65         spaces = re.compile(r'\s+')
    66         if ranking:
    66         if ranking:
    67             util = zapi.createObject(storage)
    67             util = createObject(storage)
    68             if not IStorageWithTermFrequency.providedBy(util):
    68             if not IStorageWithTermFrequency.providedBy(util):
    69                 raise ValueError("This storage cannot be used for ranking")
    69                 raise ValueError("This storage cannot be used for ranking")
    70         _fields = spaces.split(field_name)
    70         _fields = spaces.split(field_name)
    71         AttributeIndex.__init__(self, _fields[0], interface, field_callable)
    71         AttributeIndex.__init__(self, _fields[0], interface, field_callable)
    72         if len(_fields) < 2:
    72         if len(_fields) < 2: