def __repr__(self): return "<Hit: model=%s pk=%s, percent=%s rank=%s weight=%s>" % ( utils.model_name(self.model), self.pk, self.percent, self.rank, self.weight, )
def _prepare(self, db, model=None): """Initialize attributes""" self._db = db self._model = model self._model_name = model and utils.model_name(model) self.fields = [] # Simple text fields self.tags = [] # Prefixed fields self.aliases = {}
def _prepare(self, db, model=None): """Initialize attributes""" self._db = db self._model = model self._model_name = model and model_name(model) self.fields = [] # Simple text fields self.tags = [] # Prefixed fields self.aliases = {}
def do_use(self, index): """ Changes current index """ space, model, indexer = self._get_indexer(index) self._current_index = indexer print "Using `%s:%s:%s` index." % (space, utils.model_name(model), indexer)
def do_use(self, index): """ Changes current index """ space, model, indexer, path = self._get_indexer(index) if indexer is not None: self._current_index = indexer self._current_index_path = path print "Using `%s:%s:%s` index." % (space, utils.model_name(model), indexer)
def do_list(self, arg): """ Lists all available indexes with their ids """ print "Installed spaces/models/indexers:" for space_i, space in enumerate(IndexSpace.instances): print "%s: `%s`" % (space_i, space) for model_indexer_i, pair in enumerate(space.get_indexers().items()): model, indexers = pair print " %s.%s: `%s`" % (space_i, model_indexer_i, utils.model_name(model)) for indexer_i, indexer in enumerate(indexers): print " %s.%s.%s: `%s`" % (space_i, model_indexer_i, indexer_i, indexer)
def create_default_indexer(self, model): tags = [] fields = [] for field in model._meta.fields: if isinstance(field, models.TextField): fields.append(field.attname) else: tags.append((field.name, field.attname)) return new.classobj( "Default%sIndexer" % utils.model_name(model).replace('.', ''), (Indexer, ), { "tags": tags, "fields": fields })
def do_usecomposite(self, indexes): """ Changes current index to composition of given indexers """ from djapian.indexer import CompositeIndexer indexers = [] for index in indexes.split(' '): indexers.append(self._get_indexer(index.strip())) self._current_index = CompositeIndexer(*[i[2] for i in indexers]) print "Using composition of:" for indexer in indexers: space, model, indexer = indexer print " `%s:%s:%s`" % (space, utils.model_name(model), indexer) print "indexes."
def create_default_indexer(self, model): tags = [] fields = [] for field in model._meta.fields: if isinstance(field, models.TextField): fields.append(field.attname) else: tags.append((field.name, field.attname)) return new.classobj( "Default%sIndexer" % utils.model_name(model).replace('.', ''), (Indexer,), { "tags": tags, "fields": fields } )
def do_list(self, arg): """ Lists all available indexes with their ids """ print "Installed spaces/models/indexers:" def _is_selected(space, model=None, index=None): selected = [b for b in (space, model, index) if b is not None] return len( [1 for c, s in zip(self._current_index_path, selected) if c == s] ) == len(selected) for space_i, space in enumerate(IndexSpace.instances): print (_is_selected(space_i) and '* ' or '- ') + '%s: `%s`' % (space_i, space) for model_indexer_i, pair in enumerate(space.get_indexers().items()): model, indexers = pair print (_is_selected(space_i, model_indexer_i) and ' * ' or ' - ') +\ "%s.%s: `%s`" % (space_i, model_indexer_i, utils.model_name(model)) for indexer_i, indexer in enumerate(indexers): print (_is_selected(space_i, model_indexer_i, indexer_i) and ' * ' or ' - ') +\ "%s.%s.%s: `%s`" % (space_i, model_indexer_i, indexer_i, indexer)
def do_list(self, arg): """ Lists all available indexes with their ids """ print "Installed spaces/models/indexers:" def _is_selected(space, model=None, index=None): selected = [b for b in (space, model, index) if b is not None] return len([ 1 for c, s in zip(self._current_index_path, selected) if c == s ]) == len(selected) for space_i, space in enumerate(IndexSpace.instances): print(_is_selected(space_i) and '* ' or '- ') + '%s: `%s`' % (space_i, space) for model_indexer_i, pair in enumerate( space.get_indexers().items()): model, indexers = pair print (_is_selected(space_i, model_indexer_i) and ' * ' or ' - ') +\ "%s.%s: `%s`" % (space_i, model_indexer_i, utils.model_name(model)) for indexer_i, indexer in enumerate(indexers): print (_is_selected(space_i, model_indexer_i, indexer_i) and ' * ' or ' - ') +\ "%s.%s.%s: `%s`" % (space_i, model_indexer_i, indexer_i, indexer)
def __repr__(self): return "<Hit: model=%s pk=%s, percent=%s rank=%s weight=%s>" % ( utils.model_name( self.model), self.pk, self.percent, self.rank, self.weight)