diff --git a/requirements.txt b/requirements.txt index fea3a07..3e7e264 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,6 +10,7 @@ django-cliauth==0.9 django-mobile==0.3.0 etiquetando==0.1 html2text +django-taggit gunicorn gevent @@ -28,7 +29,6 @@ django-conversejs # Feedzilla (planet) and deps feedzilla==0.22 django-common -django-taggit feedparser lxml grab @@ -37,4 +37,3 @@ transliterate # Diazo #diazo git+https://github.com/TracyWebTech/diazo@escape_curly_brackets -#lxml diff --git a/src/super_archives/models.py b/src/super_archives/models.py index 70ce268..a2bdaa0 100644 --- a/src/super_archives/models.py +++ b/src/super_archives/models.py @@ -12,6 +12,7 @@ from django.core.urlresolvers import reverse, NoReverseMatch from django.utils.translation import ugettext_lazy as _ from html2text import html2text +from taggit.managers import TaggableManager from .utils import blocks from .utils.etiquetador import etiquetador @@ -117,6 +118,7 @@ class Thread(models.Model): all_objects = models.Manager() objects = NotSpamManager() + tags = TaggableManager() class Meta: verbose_name = _(u"Thread") @@ -127,6 +129,8 @@ class Thread(models.Model): blocks = MessageBlock.objects.filter(message__thread__pk=self.pk, is_reply=False) + self.tags.clear() + text = u'\n'.join(map(unicode, blocks)) tags = etiquetador(html2text(text)) @@ -137,10 +141,18 @@ class Thread(models.Model): keyword.weight = weight keyword.save() - # removing old tags - qs = Keyword.objects.filter(thread=self) - qs = qs.exclude(keyword__in=zip(*tags)[0]) - qs.delete() + if weight >= 3: + self.tags.add(tag) + + # removing old tags not used anylonger + if tags: + qs = Keyword.objects.filter(thread=self) + qs = qs.exclude(keyword__in=zip(*tags)[0]) + qs.delete() + + def save(self, *args, **kwargs): + super(Thread, self).save(*args, **kwargs) + self.update_keywords() def __unicode__(self): return '%s - %s (%s)' % (self.id, diff --git a/src/super_archives/templates/message-thread.html b/src/super_archives/templates/message-thread.html index 9d8b7c5..79f04b1 100644 --- a/src/super_archives/templates/message-thread.html +++ b/src/super_archives/templates/message-thread.html @@ -96,7 +96,7 @@