@property
def headline(self):
- return self.title
+ title = self.title
+
+ # Replaces multiple spaces with single ones.
+ title = re.sub(' +',' ', title)
+
+ return title
def tagname_list(self):
if self.tagnames:
@property
def summary(self):
- return strip_tags(self.html)[:SUMMARY_LENGTH]
+ content = strip_tags(self.html)[:SUMMARY_LENGTH]
+
+ # Remove multiple spaces.
+ content = re.sub(' +',' ', content)
+
+ # Remove line breaks. We don't need them at all.
+ content = content.replace("\n", '')
+
+ return content
@models.permalink
def get_revisions_url(self):
return None
else:
if self._original_state['tagnames']:
- old_tags = set(name for name in self._original_state['tagnames'].split(u' '))
+ old_tags = set(self._original_state['tagnames'].split())
else:
old_tags = set()
- new_tags = set(name for name in self.tagnames.split(u' ') if name)
+ new_tags = set(self.tagnames.split())
return dict(
current=list(new_tags),
tag.save()
def delete(self, *args, **kwargs):
+ for tag in self.tags.all():
+ tag.add_to_usage_count(-1)
+ tag.save()
+
self.active_revision = None
self.save()
tags_changed = self._process_changes_in_tags()
super(Node, self).save(*args, **kwargs)
- if tags_changed: self.tags = list(Tag.objects.filter(name__in=self.tagname_list()))
+ if tags_changed:
+ self.tags = list(Tag.objects.filter(name__in=self.tagname_list()))
class Meta:
app_label = 'forum'