diff --git a/taggit/contrib/suggest/models.py b/taggit/contrib/suggest/models.py index f4b4525..31d1205 100644 --- a/taggit/contrib/suggest/models.py +++ b/taggit/contrib/suggest/models.py @@ -2,6 +2,7 @@ import re from django.core.exceptions import ValidationError from django.db import models +from django.utils.translation import ugettext_lazy as _ from taggit.models import Tag @@ -12,7 +13,9 @@ except ImportError: class TagKeyword(models.Model): - """ Model to associate simple keywords to a Tag """ + """ + Model to associate simple keywords to a Tag + """ tag = models.ForeignKey(Tag, related_name='keywords') keyword = models.CharField(max_length=30) stem = models.CharField(max_length=30) @@ -21,7 +24,9 @@ class TagKeyword(models.Model): return "Keyword '%s' for Tag '%s'" % (self.keyword, self.tag.name) def save(self, *args, **kwargs): - """ Stem the keyword on save if they have PyStemmer """ + """ + Stem the keyword on save if they have PyStemmer + """ language = kwargs.pop('stemmer-language', 'english') if not self.pk and not self.stem and Stemmer: stemmer = Stemmer.Stemmer(language) @@ -30,21 +35,26 @@ class TagKeyword(models.Model): def validate_regex(value): - """ Make sure we have a valid regular expression """ + """ + Make sure we have a valid regular expression + """ try: re.compile(value) except Exception: + # TODO: more restrictive in the exceptions raise ValidationError('Please enter a valid regular expression') class TagRegex(models.Model): - """ Model to associate regular expressions with a Tag """ + """ + Model to associate regular expressions with a Tag + """ tag = models.ForeignKey(Tag, related_name='regexes') name = models.CharField(max_length=30) regex = models.CharField( max_length=250, validators=[validate_regex], - help_text=('Enter a valid Regular Expression. To make it ' + help_text=_('Enter a valid Regular Expression. To make it ' 'case-insensitive include "(?i)" in your expression.') ) @@ -52,6 +62,8 @@ class TagRegex(models.Model): return self.name def save(self, *args, **kwargs): - """ Make sure to validate """ + """ + Make sure to validate + """ self.full_clean() - super(TagRegex,self).save(*args, **kwargs) + super(TagRegex, self).save(*args, **kwargs) diff --git a/taggit/contrib/suggest/utils.py b/taggit/contrib/suggest/utils.py index 450a875..58b57f1 100644 --- a/taggit/contrib/suggest/utils.py +++ b/taggit/contrib/suggest/utils.py @@ -7,7 +7,9 @@ from taggit.models import Tag def _suggest_keywords(content): - """ Suggest by keywords """ + """ + Suggest by keywords + """ suggested_keywords = set() keywords = TagKeyword.objects.all() @@ -22,7 +24,9 @@ def _suggest_keywords(content): return suggested_keywords def _suggest_regexes(content): - """ Suggest by regular expressions """ + """ + Suggest by regular expressions + """ # Grab all regular expressions and compile them suggested_regexes = set() regex_keywords = TagRegex.objects.all() @@ -35,7 +39,9 @@ def _suggest_regexes(content): return suggested_regexes def suggest_tags(content): - """ Suggest tags based on text content """ + """ + Suggest tags based on text content + """ suggested_keywords = _suggest_keywords(content) suggested_regexes = _suggest_regexes(content) suggested_tag_ids = suggested_keywords | suggested_regexes diff --git a/taggit/forms.py b/taggit/forms.py index 2b93671..6102cb1 100644 --- a/taggit/forms.py +++ b/taggit/forms.py @@ -1,4 +1,5 @@ from django import forms +from django.utils.translation import ugettext as _ from taggit.utils import parse_tags, edit_string_for_tags @@ -16,4 +17,4 @@ class TagField(forms.CharField): try: return parse_tags(value) except ValueError: - raise forms.ValidationError("Please provide a comma-separated list of tags.") + raise forms.ValidationError(_("Please provide a comma-separated list of tags.")) diff --git a/taggit/managers.py b/taggit/managers.py index 6d334c0..8a1f3c0 100644 --- a/taggit/managers.py +++ b/taggit/managers.py @@ -5,6 +5,7 @@ from django.db import models from django.db.models.fields.related import ManyToManyRel from django.db.models.related import RelatedObject from django.db.models.query_utils import QueryWrapper +from django.utils.translation import ugettext_lazy as _ from taggit.forms import TagField from taggit.models import Tag, TaggedItem @@ -37,7 +38,7 @@ class TaggableRel(ManyToManyRel): class TaggableManager(object): - def __init__(self, verbose_name="Tags", through=None): + def __init__(self, verbose_name=_("Tags"), through=None): self.use_gfk = through is None self.through = through or TaggedItem self.rel = TaggableRel(to=self.through) @@ -97,8 +98,8 @@ class TaggableManager(object): def formfield(self, form_class=TagField, **kwargs): defaults = { - "label": "Tags", - "help_text": "A comma-separated list of tags." + "label": _("Tags"), + "help_text": _("A comma-separated list of tags.") } defaults.update(kwargs) return form_class(**kwargs)