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, 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)
Example #3
0
 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)
Example #4
0
 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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
    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)
Example #10
0
 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)
Example #11
0
 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)
Example #12
0
    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)
Example #14
0
 def get_search_data(self, obj, language, request):
     return strip_tags(obj.name)
Example #15
0
 def get_search_data(self, obj, language, request):
     return strip_tags(self.get_description(obj)).strip()
Example #16
0
 def get_search_data(self, obj, language, request):
     with switch_language(obj):
         return strip_tags(obj.safe_translation_getter('name'))
Example #17
0
def get_cleaned_bits(data):
    decoded = force_text(data)
    stripped = strip_tags(decoded)
    return smart_split(stripped)
Example #18
0
 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()
Example #20
0
 def get_search_data(self, obj, language, request):
     return strip_tags(self.get_description(obj)).strip()