コード例 #1
0
ファイル: search.py プロジェクト: mjdillon/Voter-Universe
    def transform_num_votes(self, instance):
        return instance.votes.count()

    #def transform_searches(self, instance):
        #searches = []
        #for search in instance.searches.all():
            #searches.append('"%s"' % search.label)
        #return ', '.join(searches)

    #def transform_districts(self, instance):
        #districts = []
        #for district in instance.household.districts.all():
            #districts.append(unicode(district))
        #return ', '.join(districts)

solango.register(Voter, VoterDocument) 

#class HouseholdDocument(BaseSearchDocument):
#    address = solango.fields.TextField(copy=True)
#    street = solango.fields.CharField()
#    number = solango.fields.CharField()
#    other = solango.fields.CharField(copy=True)
#    zip = solango.fields.CharField(copy=True)
#    city = solango.fields.CharField(copy=True)
#    state = solango.fields.CharField(copy=True)
#    districts = solango.fields.TextField()
#
#    class Media:
#        template = 'voters/solango/household_document.html'
#
#    def transform_address(self, instance):
コード例 #2
0
ファイル: search.py プロジェクト: eos87/secretapp
        " Saves the render of the homepage result "
        return render_to_string("discussion/render/singular.html", {"discussion": instance})

    def transform_blob(self, instance):
        " Saves all the discussion content "
        output = ""
        for c in instance.comments():
            output += "\n\n\n%s\n\n\n" % (c.text)
            for s in c.secrets.all():
                output += "\n\n\n%s\n\n\n" % (s.title)
        return output

    def transform_comments(self, instance):
        " Most number of discussions "
        return instance.comment_count

    def transform_secrets(self, instance):
        " Most number of secret proposals "
        return instance.proposal_count

    def transform_created(self, instance):
        " When the discussion was created "
        return instance.created_at

    def transform_updated(self, instance):
        " Last time the discussion was commented on - or falls back to when it was created "
        return instance.updated_at


solango.register(Discussion, DiscussionDocument)
コード例 #3
0
ファイル: search.py プロジェクト: markng/newscredit_api
        return instance.tags.split(',')

    def transform_entity(self, instance, what):
        """get a model for solr"""
        whats = []
        for _what in instance.get_entity(what):
            whats.append(str(_what))
        return whats

    def transform_people(self, instance):
        """get people for solr"""
        return self.transform_entity(instance, 'Person')

    def transform_organisations(self, instance):
        """get organisations for solr"""
        return self.transform_entity(instance, 'Organisation')

    def transform_places(self, instance):
        """get places for solr"""
        return self.transform_entity(instance, 'Place')

    def get_model(self):
        """get model"""
        if not self._cached_model:
            self._cached_model = Article.objects.get(
                id=self.fields['id'].value
            )
        return self._cached_model

solango.register(Article, ArticleDocument)
コード例 #4
0
ファイル: search.py プロジェクト: eos87/secretapp
    def transform_photocount(self, instance):
        return len(instance.photos())

    def render(self, template):
        return self.data_dict["render_%s" % template]

    @classmethod
    def add_renders(self):
        # render func
        def render_func(template):
            # gets self, instance
            return lambda s, i: render_to_string(SECRET_RENDER_FOLDER % template, {"secret": i})

        # save for each language
        for t in SECRET_RENDER_TEMPLATES:
            # Ugly hack to dynamically add fields onto SearchDocument
            name = "render_%s" % t
            # need to create a new field instance for each template rendering
            field = solango.fields.TextField(indexed=False, stored=True)
            # name the field and save to base_fields
            field.name = name
            SecretDocument.base_fields[name] = field
            # add transform accessor for save
            setattr(SecretDocument, "transform_%s" % name, render_func(t))
        return self


SecretDocument.add_renders()
solango.register(Secret, SecretDocument)
コード例 #5
0
ファイル: search.py プロジェクト: andynicholson/transitlabour
    class Media:
        template = 'transitlabourapp/page_searchdocument.html'

    def transform_date(self, instance):
        return instance.published_date

    def tranform_author(self,instance):
	return instance.author.first_name + ' ' + instance.author.last_name

class BlogSearchDocument(solango.SearchDocument):
    date = solango.fields.DateField()
    header = solango.fields.CharField(copy=True)
    teaser_text = solango.fields.TextField(copy=True)
    body = solango.fields.TextField(copy=True)
    author = solango.fields.CharField(copy=True)
    slug = solango.fields.CharField(copy=True)

    class Media:
        template = 'transitlabourapp/blog_searchdocument.html'

    def transform_date(self, instance):
        return instance.published_date

    def tranform_author(self,instance):
	return instance.author.first_name + ' ' + instance.author.last_name

solango.register(Page, PageSearchDocument)
solango.register(Blog, BlogSearchDocument)

コード例 #6
0
ファイル: search.py プロジェクト: huangshanqi/lifeflow
import solango
from lifeflow.models import Comment, Entry

class EntryDocument(solango.SearchDocument):
    date = solango.fields.DateField()
    summary = solango.fields.TextField(copy=True)
    title = solango.fields.CharField(copy=True)
    tags = solango.fields.CharField(copy=True)
    content = solango.fields.TextField(copy=True)

    def transform_summary(self, instance):
        return instance.summary

    def transform_tags(self, instance):
        tags = list(instance.tags.all())
        texts = [ tag.title for tag in tags ]
        return ",".join(texts)
    
    def transform_date(self, instance):
        return instance.pub_date

    def transform_content(self, instance):
        return instance.body

solango.register(Entry, EntryDocument)