def get_search_data(self, post, language, request): with switch_language(post, language): description = post.get_description() abstract = strip_tags(post.safe_translation_getter('abstract', default='')) keywords = post.get_keywords() text_bits = [] if abstract: text_bits.append(abstract) if description: text_bits.append(description) if keywords: text_bits.append(' '.join(keywords)) self.prepared_data['keywords'] = ','.join(keywords) for category in post.categories.all(): text_bits.append( force_text(category.safe_translation_getter('name'))) for tag in post.tags.all(): text_bits.append(force_text(tag.name)) if get_setting('USE_PLACEHOLDER'): plugins = post.content.cmsplugin_set.filter(language=language) content_bits = [] for base_plugin in plugins: content = get_plugin_index_data(base_plugin, request) content_bits.append(' '.join(content)) post_text = ' '.join(content_bits) else: post_text = post.safe_translation_getter('post_text') if post_text: post_text = strip_tags(post_text) self.prepared_data['post_text'] = post_text text_bits.append(post_text) return ' '.join(text_bits)
def get_search_data(self, obj, language, request): lead_in = self.get_description(obj) text_bits = [strip_tags(lead_in)] plugins = obj.content.cmsplugin_set.filter(language=language) for base_plugin in plugins: instance, plugin_type = base_plugin.get_plugin_instance() if instance is not None: content = strip_tags(instance.render_plugin(context=RequestContext(request))) text_bits.append(content) return ' '.join(text_bits)
def get_search_data(self, obj, language, request): lead_in = self.get_description(obj) text_bits = [strip_tags(lead_in)] plugins = obj.content.cmsplugin_set.filter(language=language) for base_plugin in plugins: instance, plugin_type = base_plugin.get_plugin_instance() if instance is not None: content = strip_tags(render_plugin(request, instance)) text_bits.append(content) return ' '.join(text_bits)
def get_search_data(self, obj, language, request): text_bits = [strip_tags(obj.title), strip_tags(obj.answer_text)] plugins = obj.answer.cmsplugin_set.filter(language=language) for base_plugin in plugins: instance, plugin_type = base_plugin.get_plugin_instance() if not instance is None: plugin_content = strip_tags(instance.render_plugin(context=RequestContext(request))) text_bits.append(plugin_content) return ' '.join(text_bits)
def get_search_data(self, obj, language, request): text_bits = [strip_tags(obj.lead_in)] plugins = obj.content.cmsplugin_set.filter(language=language) for base_plugin in plugins: instance, plugin_type = base_plugin.get_plugin_instance() if instance is not None: plugin_content = strip_tags( instance.render_plugin(context=RequestContext(request))) text_bits.append(plugin_content) return ' '.join(text_bits)
def get_search_data(self, obj, language, request): with switch_language(obj, language): context = RequestContext(request) text_bits = [ strip_tags(obj.safe_translation_getter('title') or ''), strip_tags(obj.safe_translation_getter('answer_text') or '') ] plugins = obj.answer.cmsplugin_set.filter(language=language) for base_plugin in plugins: instance, plugin_type = base_plugin.get_plugin_instance() if instance is not None: plugin_content = strip_tags( instance.render_plugin(context=context)) text_bits.append(plugin_content) return ' '.join(text_bits)
def get_search_data(self, obj, language, request): with switch_language(obj, language): context = RequestContext(request) text_bits = [ strip_tags(obj.safe_translation_getter('title') or ''), strip_tags(obj.safe_translation_getter('answer_text') or '') ] plugins = obj.answer.cmsplugin_set.filter(language=language) for base_plugin in plugins: instance, plugin_type = base_plugin.get_plugin_instance() if instance is not None: plugin_content = strip_tags( instance.render_plugin(context=context) ) text_bits.append(plugin_content) return ' '.join(text_bits)
def get_search_data(self, obj, language, request): description = self.get_description(obj) or '' text_bits = [strip_tags(description)] plugins = obj.description.cmsplugin_set.filter(language=language) for base_plugin in plugins: try: instance, plugin_type = base_plugin.get_plugin_instance() if instance is not None: content = strip_tags( instance.render_plugin( context=RequestContext(request))) text_bits.append(content) except Exception: # avoid that bad plugins breaks entire indexer # TODO: logging pass return ' '.join(text_bits)
def get_search_data(self, obj, language, request): description = self.get_description(obj) or '' text_bits = [strip_tags(description)] plugins = obj.description.cmsplugin_set.filter(language=language) for base_plugin in plugins: try: instance, plugin_type = base_plugin.get_plugin_instance() if instance is not None: content = strip_tags( instance.render_plugin(context=RequestContext(request)) ) text_bits.append(content) except Exception: # avoid that bad plugins breaks entire indexer # TODO: logging pass return ' '.join(text_bits)
def get_search_data(self, obj, language, request): description = self.get_description(obj) text_bits = [strip_tags(description)] for category in obj.categories.all(): text_bits.append(force_text(category.safe_translation_getter('name'))) for tag in obj.tags.all(): text_bits.append(force_text(tag.name)) if obj.content: for base_plugin in obj.content.cmsplugin_set.filter(language=language): plugin_text_content = ' '.join(get_plugin_index_data(base_plugin, request)) text_bits.append(plugin_text_content) return ' '.join(text_bits)
def get_search_data(self, language=None, request=None): """ Provides an index for use with Haystack, or, for populating Jobs.translations.search_data. """ if not self.pk: return '' if language is None: language = self.get_current_language() if not language: language = get_current_language() if language: self.set_current_language(language) if request is None: request = get_request(language=language) text_bits = [] title = self.safe_translation_getter('title', language_code=language) text_bits.append(strip_tags(title)) lead_in = self.safe_translation_getter('lead_in', language_code=language) text_bits.append(strip_tags(lead_in)) category = self.category.safe_translation_getter( 'name', language_code=language) text_bits.append(strip_tags(category)) if self.content: plugins = self.content.cmsplugin_set.filter(language=language) for base_plugin in plugins: plugin_text_content = ' '.join( get_plugin_index_data(base_plugin, request)) text_bits.append(plugin_text_content) return ' '.join(text_bits)
def get_search_data(self, post, language, request): optional_attributes = [] abstract = post.safe_translation_getter('abstract') text_bits = [post.get_title()] text_bits.append(strip_tags(abstract)) text_bits.append(post.get_description()) text_bits.append(' '.join(post.get_keywords())) for category in post.categories.all(): text_bits.append( force_text(category.safe_translation_getter('name'))) for tag in post.tags.all(): text_bits.append(force_text(tag.name)) if post.content: plugins = post.content.cmsplugin_set.filter(language=language) for base_plugin in plugins: content = get_plugin_index_data(base_plugin, request) text_bits.append(' '.join(content)) for attribute in optional_attributes: value = force_text(getattr(post, attribute)) if value and value not in text_bits: text_bits.append(value) return ' '.join(text_bits)
def get_search_data(self, obj, language, request): return strip_tags(obj.name)
def get_search_data(self, obj, language, request): return strip_tags(self.get_description(obj)).strip()
def get_search_data(self, obj, language, request): with switch_language(obj): return strip_tags(obj.safe_translation_getter('name'))
def get_cleaned_bits(data): decoded = force_text(data) stripped = strip_tags(decoded) return smart_split(stripped)
def get_search_data(self, obj, language, request): if language: obj.set_current_language(language) return strip_tags(self.get_description(obj)).strip()
def get_search_data(self, obj, language, request): with switch_language(obj, language): description = self.get_description(obj) return strip_tags(description).strip()