[Checkins] SVN: grok/branches/faassen-index/src/grok/index.py
Refactor a little to make it easier to add new indexes.
Martijn Faassen
faassen at infrae.com
Tue Apr 17 13:55:31 EDT 2007
Log message for revision 74207:
Refactor a little to make it easier to add new indexes.
Changed:
U grok/branches/faassen-index/src/grok/index.py
-=-
Modified: grok/branches/faassen-index/src/grok/index.py
===================================================================
--- grok/branches/faassen-index/src/grok/index.py 2007-04-17 17:44:44 UTC (rev 74206)
+++ grok/branches/faassen-index/src/grok/index.py 2007-04-17 17:55:30 UTC (rev 74207)
@@ -12,6 +12,8 @@
class IndexDefinition(object):
implements(IIndexDefinition)
+
+ index_class = None
def __init__(self, *args, **kw):
frame = sys._getframe(1)
@@ -22,14 +24,12 @@
self._kw = kw
def setup(self, catalog, name, context):
- raise NotImplementedError
+ call = IMethod.providedBy(context[name])
+ catalog[name] = self.index_class(name, context, call,
+ *self._args, **self._kw)
class Field(IndexDefinition):
- def setup(self, catalog, name, context):
- call = IMethod.providedBy(context[name])
- catalog[name] = FieldIndex(name, context, *self._args, **self._kw)
+ index_class = FieldIndex
class Text(IndexDefinition):
- def setup(self, catalog, name, context):
- call = IMethod.providedBy(context[name])
- catalog[name] = TextIndex(name, context, call, *self._args, **self._kw)
+ index_class = TextIndex
More information about the Checkins
mailing list