Generated: Wed 2013-03-13 10:33 CET
Source file: /media/Envs/Envs/filer-gallery/lib/python2.7/site-packages/cms/models/metaclasses.py
Stats: 0 executed, 13 missed, 5 excluded, 11 ignored
# -*- coding: utf-8 -*-from django.conf import settingsfrom django.db.models.base import ModelBasefrom cms.publisher.manager import PublisherManagerfrom mptt.models import MPTTModelBasefrom cms.publisher.options import PublisherOptionsclass PageMetaClass(MPTTModelBase): def __new__(cls, name, bases, attrs): super_new = super(PageMetaClass, cls).__new__ if not settings.CMS_MODERATOR: return super_new(cls, name, bases, attrs) if 'objects' in attrs: if not isinstance(attrs['objects'], PublisherManager): raise ValueError, ("Model %s extends Publisher, " + "so its 'objects' manager must be " + "a subclass of publisher.PublisherManager") % (name,) else: attrs['objects'] = PublisherManager() attrs['_is_publisher_model'] = lambda self: True # build meta object publisher_meta = attrs.pop('PublisherMeta', None) attrs['_publisher_meta'] = PublisherOptions(name, bases, publisher_meta) return super_new(cls, name, bases, attrs)