diff options
author | SVN-Git Migration <python-modules-team@lists.alioth.debian.org> | 2015-10-08 11:51:46 -0700 |
---|---|---|
committer | SVN-Git Migration <python-modules-team@lists.alioth.debian.org> | 2015-10-08 11:51:46 -0700 |
commit | d03c8d2d2efaf848b01e96863c29f46ce3a0db21 (patch) | |
tree | 2c4ed69f5ad989074264c6dc66b14770664fa9cb /tagging/__init__.py | |
parent | 3b9f21a55fed735652716e63fedabad87899be81 (diff) | |
download | python-django-tagging-d03c8d2d2efaf848b01e96863c29f46ce3a0db21.tar python-django-tagging-d03c8d2d2efaf848b01e96863c29f46ce3a0db21.tar.gz |
Imported Upstream version 0.2.1+svn147upstream/0.2.1+svn147
Diffstat (limited to 'tagging/__init__.py')
-rw-r--r-- | tagging/__init__.py | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/tagging/__init__.py b/tagging/__init__.py index 28ed501..9241c20 100644 --- a/tagging/__init__.py +++ b/tagging/__init__.py @@ -1 +1,30 @@ -VERSION = (0, 2.1, None)
+from django.utils.translation import ugettext as _ + +from tagging.managers import ModelTaggedItemManager, TagDescriptor + +VERSION = (0, 3, 'pre') + +class AlreadyRegistered(Exception): + """ + An attempt was made to register a model more than once. + """ + pass + +registry = [] + +def register(model, tag_descriptor_attr='tags', + tagged_item_manager_attr='tagged'): + """ + Sets the given model class up for working with tags. + """ + if model in registry: + raise AlreadyRegistered( + _('The model %s has already been registered.') % model.__name__) + registry.append(model) + + # Add tag descriptor + setattr(model, tag_descriptor_attr, TagDescriptor()) + + # Add custom manager + ModelTaggedItemManager().contribute_to_class(model, + tagged_item_manager_attr) |