Generated: Wed 2013-03-13 10:33 CET
Source file: /media/Envs/Envs/filer-gallery/lib/python2.7/site-packages/cms/management/commands/publisher_publish.py
Stats: 0 executed, 24 missed, 6 excluded, 17 ignored
# -*- coding: utf-8 -*-from __future__ import absolute_importfrom django.conf import settingsfrom django.core.management.base import NoArgsCommand, CommandErrorclass Command(NoArgsCommand): def handle_noargs(self, **options): """Create published public version of all published drafts. Useful, when CMS_MODERATOR gets turned on after some time. """ if not getattr(settings, 'CMS_MODERATOR', False): raise CommandError("This command may be used only with settings.CMS_MODERATOR") self.publish_pages() def publish_pages(self): from django.contrib.auth.models import User from cms.models import Page from cms.utils.permissions import set_current_user # thread locals middleware needs to know, who are we - login as a first # super user try: user = User.objects.filter(is_active=True, is_staff=True, is_superuser=True)[0] except IndexError: raise CommandError("No super user found, create one using `manage.py createsuperuser`.") set_current_user(user) # set him as current user qs = Page.objects.drafts().filter(published=True) pages_total, pages_published = qs.count(), 0 print "\nPublishing public drafts....\n" for i, page in enumerate(qs): m = " " if page.publish(): pages_published += 1 m = "*" print "%d.\t%s %s [%d]" % (i + 1, m, unicode(page), page.id) print "\n" print "=" * 40 print "Total: ", pages_total print "Published:", pages_published