Skip to content

Commit 579bf2d

Browse files
committed
Ported everything else over plus linted + pep8ed.
1 parent 47ff7c3 commit 579bf2d

File tree

10 files changed

+223
-191
lines changed

10 files changed

+223
-191
lines changed

tagging/admin.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
from django.contrib import admin
2-
from tagging.models import Tag, TaggedItem
3-
from tagging.forms import TagAdminForm
2+
3+
from .models import Tag, TaggedItem
4+
from .forms import TagAdminForm
5+
46

57
class TagAdmin(admin.ModelAdmin):
68
form = TagAdminForm
79

10+
811
admin.site.register(TaggedItem)
912
admin.site.register(Tag, TagAdmin)
10-
11-
12-
13-

tagging/fields.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
from django.db.models.fields import CharField
66
from django.utils.translation import ugettext_lazy as _
77

8-
from tagging import settings
9-
from tagging.models import Tag
10-
from tagging.utils import edit_string_for_tags
8+
from . import settings
9+
from .models import Tag
10+
from .utils import edit_string_for_tags
11+
1112

1213
class TagField(CharField):
1314
"""
@@ -68,14 +69,14 @@ def __set__(self, instance, value):
6869
value = value.lower()
6970
self._set_instance_tag_cache(instance, value)
7071

71-
def _save(self, **kwargs): #signal, sender, instance):
72+
def _save(self, **kwargs): # signal, sender, instance):
7273
"""
7374
Save tags back to the database
7475
"""
7576
tags = self._get_instance_tag_cache(kwargs['instance'])
7677
Tag.objects.update_tags(kwargs['instance'], tags)
7778

78-
def _update(self, **kwargs): #signal, sender, instance):
79+
def _update(self, **kwargs): # signal, sender, instance):
7980
"""
8081
Update tag cache from TaggedItem objects.
8182
"""

tagging/forms.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
from django import forms
55
from django.utils.translation import ugettext as _
66

7-
from tagging import settings
8-
from tagging.models import Tag
9-
from tagging.utils import parse_tag_input
7+
from . import settings
8+
from .models import Tag
9+
from .utils import parse_tag_input
10+
1011

1112
class TagAdminForm(forms.ModelForm):
1213
class Meta:
@@ -23,6 +24,7 @@ def clean_name(self):
2324
settings.MAX_TAG_LENGTH)
2425
return value
2526

27+
2628
class TagField(forms.CharField):
2729
"""
2830
A ``CharField`` which validates that its input is a valid list of

tagging/generic.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from django.contrib.contenttypes.models import ContentType
22

3+
34
def fetch_content_objects(tagged_items, select_related_for=None):
45
"""
56
Retrieves ``ContentType`` and content objects for the given list of
@@ -15,7 +16,8 @@ def fetch_content_objects(tagged_items, select_related_for=None):
1516
``ContentType``) for which ``select_related`` should be used when
1617
retrieving model instances.
1718
"""
18-
if select_related_for is None: select_related_for = []
19+
if select_related_for is None:
20+
select_related_for = []
1921

2022
# Group content object pks by their content type pks
2123
objects = {}

tagging/managers.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
from django.contrib.contenttypes.models import ContentType
66
from django.db import models
77

8-
from tagging.models import Tag, TaggedItem
8+
from .models import Tag, TaggedItem
9+
910

1011
class ModelTagManager(models.Manager):
1112
"""
@@ -25,6 +26,7 @@ def related(self, tags, *args, **kwargs):
2526
def usage(self, *args, **kwargs):
2627
return Tag.objects.usage_for_model(self.model, *args, **kwargs)
2728

29+
2830
class ModelTaggedItemManager(models.Manager):
2931
"""
3032
A manager for retrieving model instances based on their tags.
@@ -47,6 +49,7 @@ def with_any(self, tags, queryset=None):
4749
else:
4850
return TaggedItem.objects.get_union_by_model(queryset, tags)
4951

52+
5053
class TagDescriptor(object):
5154
"""
5255
A descriptor which provides access to a ``ModelTagManager`` for

tagging/models.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
"""
22
Models and managers for generic tagging.
33
"""
4-
# Python 2.3 compatibility
5-
try:
6-
set
7-
except NameError:
8-
from sets import Set as set
9-
104
from django.contrib.contenttypes import generic
115
from django.contrib.contenttypes.models import ContentType
126
from django.db import connection, models
13-
from django.db.models.query import QuerySet
7+
from django.utils.encoding import python_2_unicode_compatible
148
from django.utils.translation import ugettext_lazy as _
159

16-
from tagging import settings
17-
from tagging.utils import calculate_cloud, get_tag_list, get_queryset_and_model, parse_tag_input
18-
from tagging.utils import LOGARITHMIC
10+
from . import settings
11+
from .utils import (calculate_cloud, get_tag_list, get_queryset_and_model,
12+
parse_tag_input, LOGARITHMIC)
13+
1914

2015
qn = connection.ops.quote_name
2116

17+
2218
############
2319
# Managers #
2420
############
@@ -449,10 +445,12 @@ def get_related(self, obj, queryset_or_model, num=None):
449445
else:
450446
return []
451447

448+
452449
##########
453450
# Models #
454451
##########
455452

453+
@python_2_unicode_compatible
456454
class Tag(models.Model):
457455
"""
458456
A tag.
@@ -466,17 +464,19 @@ class Meta:
466464
verbose_name = _('tag')
467465
verbose_name_plural = _('tags')
468466

469-
def __unicode__(self):
467+
def __str__(self):
470468
return self.name
471469

470+
471+
@python_2_unicode_compatible
472472
class TaggedItem(models.Model):
473473
"""
474474
Holds the relationship between a tag and the item being tagged.
475475
"""
476-
tag = models.ForeignKey(Tag, verbose_name=_('tag'), related_name='items')
476+
tag = models.ForeignKey(Tag, verbose_name=_('tag'), related_name='items')
477477
content_type = models.ForeignKey(ContentType, verbose_name=_('content type'))
478-
object_id = models.PositiveIntegerField(_('object id'), db_index=True)
479-
object = generic.GenericForeignKey('content_type', 'object_id')
478+
object_id = models.PositiveIntegerField(_('object id'), db_index=True)
479+
object = generic.GenericForeignKey('content_type', 'object_id')
480480

481481
objects = TaggedItemManager()
482482

@@ -486,5 +486,5 @@ class Meta:
486486
verbose_name = _('tagged item')
487487
verbose_name_plural = _('tagged items')
488488

489-
def __unicode__(self):
490-
return u'%s [%s]' % (self.object, self.tag)
489+
def __str__(self):
490+
return '%s [%s]' % (self.object, self.tag)

tagging/templatetags/tagging_tags.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
from django.db.models import get_model
2-
from django.template import Library, Node, TemplateSyntaxError, Variable, resolve_variable
2+
from django.template import Library, Node, TemplateSyntaxError, Variable
33
from django.utils.translation import ugettext as _
44

5-
from tagging.models import Tag, TaggedItem
6-
from tagging.utils import LINEAR, LOGARITHMIC
5+
from ..models import Tag, TaggedItem
6+
from ..utils import LINEAR, LOGARITHMIC
7+
78

89
register = Library()
910

11+
1012
class TagsForModelNode(Node):
1113
def __init__(self, model, context_var, counts):
1214
self.model = model
@@ -20,6 +22,7 @@ def render(self, context):
2022
context[self.context_var] = Tag.objects.usage_for_model(model, counts=self.counts)
2123
return ''
2224

25+
2326
class TagCloudForModelNode(Node):
2427
def __init__(self, model, context_var, **kwargs):
2528
self.model = model
@@ -34,6 +37,7 @@ def render(self, context):
3437
Tag.objects.cloud_for_model(model, **self.kwargs)
3538
return ''
3639

40+
3741
class TagsForObjectNode(Node):
3842
def __init__(self, obj, context_var):
3943
self.obj = Variable(obj)
@@ -44,6 +48,7 @@ def render(self, context):
4448
Tag.objects.get_for_object(self.obj.resolve(context))
4549
return ''
4650

51+
4752
class TaggedObjectsNode(Node):
4853
def __init__(self, tag, model, context_var):
4954
self.tag = Variable(tag)
@@ -58,6 +63,7 @@ def render(self, context):
5863
TaggedItem.objects.get_by_model(model, self.tag.resolve(context))
5964
return ''
6065

66+
6167
def do_tags_for_model(parser, token):
6268
"""
6369
Retrieves a list of ``Tag`` objects associated with a given model
@@ -99,6 +105,7 @@ def do_tags_for_model(parser, token):
99105
else:
100106
return TagsForModelNode(bits[1], bits[3], counts=True)
101107

108+
102109
def do_tag_cloud_for_model(parser, token):
103110
"""
104111
Retrieves a list of ``Tag`` objects for a given model, with tag
@@ -178,6 +185,7 @@ def do_tag_cloud_for_model(parser, token):
178185
})
179186
return TagCloudForModelNode(bits[1], bits[3], **kwargs)
180187

188+
181189
def do_tags_for_object(parser, token):
182190
"""
183191
Retrieves a list of ``Tag`` objects associated with an object and
@@ -198,6 +206,7 @@ def do_tags_for_object(parser, token):
198206
raise TemplateSyntaxError(_("second argument to %s tag must be 'as'") % bits[0])
199207
return TagsForObjectNode(bits[1], bits[3])
200208

209+
201210
def do_tagged_objects(parser, token):
202211
"""
203212
Retrieves a list of instances of a given model which are tagged with
@@ -225,6 +234,7 @@ def do_tagged_objects(parser, token):
225234
raise TemplateSyntaxError(_("fourth argument to %s tag must be 'as'") % bits[0])
226235
return TaggedObjectsNode(bits[1], bits[3], bits[5])
227236

237+
228238
register.tag('tags_for_model', do_tags_for_model)
229239
register.tag('tag_cloud_for_model', do_tag_cloud_for_model)
230240
register.tag('tags_for_object', do_tags_for_object)

tagging/tests/models.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,54 @@
11
from django.db import models
2+
from django.utils.encoding import python_2_unicode_compatible
23

34
from tagging.fields import TagField
45

6+
7+
@python_2_unicode_compatible
58
class Perch(models.Model):
69
size = models.IntegerField()
710
smelly = models.BooleanField(default=True)
811

12+
13+
@python_2_unicode_compatible
914
class Parrot(models.Model):
1015
state = models.CharField(max_length=50)
1116
perch = models.ForeignKey(Perch, null=True)
1217

13-
def __unicode__(self):
18+
def __str__(self):
1419
return self.state
1520

1621
class Meta:
1722
ordering = ['state']
1823

24+
25+
@python_2_unicode_compatible
1926
class Link(models.Model):
2027
name = models.CharField(max_length=50)
2128

22-
def __unicode__(self):
29+
def __str__(self):
2330
return self.name
2431

2532
class Meta:
2633
ordering = ['name']
2734

35+
36+
@python_2_unicode_compatible
2837
class Article(models.Model):
2938
name = models.CharField(max_length=50)
3039

31-
def __unicode__(self):
40+
def __str__(self):
3241
return self.name
3342

3443
class Meta:
3544
ordering = ['name']
3645

46+
47+
@python_2_unicode_compatible
3748
class FormTest(models.Model):
3849
tags = TagField('Test', help_text='Test')
3950

51+
52+
@python_2_unicode_compatible
4053
class FormTestNull(models.Model):
4154
tags = TagField(null=True)
42-

0 commit comments

Comments
 (0)