equal
deleted
inserted
replaced
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: |