Ejemplo n.º 1
0
def extract_terms(sender, instance, **kw):
    if instance.terms.all() or settings.DISABLE_TERMS:
        return
    terms = (t for t in utils.extract_terms(instance.description) if len(t) >= settings.MIN_TERM_LENGTH)
    for term in terms:
        this_term, created = Term.objects.get_or_create(term=term)
        instance.terms.add(this_term)
Ejemplo n.º 2
0
def extract_terms(sender, instance, **kw):
    if instance.terms.all() or settings.DISABLE_TERMS:
        return
    terms = (t for t in utils.extract_terms(instance.description) if
             len(t) >= settings.MIN_TERM_LENGTH)
    for term in terms:
        this_term, created = Term.objects.get_or_create(term=term)
        instance.terms.add(this_term)
Ejemplo n.º 3
0
    def save(self, terms=True, *args, **kwargs):
        # parse UA and stick it into separate fields
        parsed = ua_parse(self.user_agent)
        if parsed:
            self.product = parsed['browser'].id
            self.version = parsed['version']
            self.platform = parsed['platform']

        new = not self.pk
        super(Opinion, self).save(*args, **kwargs)

        # Extract terms from description text and save them if this is new.
        if new and terms:
            terms = (t for t in extract_terms(self.description) if
                     len(t) >= settings.MIN_TERM_LENGTH)
            for term in terms:
                this_term, created = Term.objects.get_or_create(term=term)
                this_term.save()
                self.terms.add(this_term)