1 """Zinnia to WordPress command module"""
2 from django.conf import settings
3 from django.utils.encoding import smart_str
4 from django.contrib.sites.models import Site
5 from django.template.loader import render_to_string
6 from django.core.management.base import NoArgsCommand
7
8 from tagging.models import Tag
9
10 from zinnia import __version__
11 from zinnia.settings import PROTOCOL
12 from zinnia.models import Entry
13 from zinnia.models import Category
14
15
17 """Command object for exporting a Zinnia blog
18 into WordPress via a WordPress eXtended RSS (WXR) file."""
19 help = 'Export Zinnia to WXR file.'
20
22 site = Site.objects.get_current()
23 blog_context = {'entries': Entry.objects.all(),
24 'categories': Category.objects.all(),
25 'tags': Tag.objects.usage_for_model(Entry),
26 'version': __version__,
27 'description': 'Blog exported for django-blog-zinnia',
28 'language': settings.LANGUAGE_CODE,
29 'site': site,
30 'site_url': '%s://%s' % (PROTOCOL, site.domain)}
31 export = render_to_string('zinnia/wxr.xml', blog_context)
32 print smart_str(export)
33