from django.core.management.base import BaseCommand, CommandError from django.db.models import get_model from oscar.core.loading import get_class Order = get_model('order', 'Order') CommunicationEventType = get_model('customer', 'CommunicationEventType') Dispatcher = get_class('customer.utils', 'Dispatcher') class Command(BaseCommand): args = ' ' help = 'For testing the content of order emails' def handle(self, *args, **options): if len(args) != 2: raise CommandError("Please select a event type and order number") try: order = Order.objects.get(number=args[1]) except Order.DoesNotExist: raise CommandError("No order found with number %s" % args[1]) messages = CommunicationEventType.objects.get_and_render( args[0], {'order': order}) print "Subject: %s\nBody:\n\n%s\nBody HTML:\n\n%s" % ( messages['subject'], messages['body'], messages['html'])