charge_subscriptions.py 1.1 KB

123456789101112131415161718192021222324252627282930
  1. # -*- coding: utf-8 -*-
  2. import datetime
  3. from django.core.management.base import BaseCommand, CommandError
  4. from django.conf import settings
  5. from coin.utils import respect_language
  6. from coin.billing.create_subscriptions_invoices import create_all_members_invoices_for_a_period
  7. class Command(BaseCommand):
  8. args = '[date=2011-07-04]'
  9. help = 'Create invoices for members subscriptions for date specified (or today if no date passed)'
  10. def handle(self, *args, **options):
  11. try:
  12. date = datetime.datetime.strptime(args[0], '%Y-%m-%d').date()
  13. except IndexError:
  14. date = datetime.date.today()
  15. except ValueError:
  16. raise CommandError(
  17. 'Please enter a valid date : YYYY-mm-dd (ex: 2011-07-04)')
  18. self.stdout.write(
  19. 'Create invoices for all members for the date : %s' % date)
  20. with respect_language(settings.LANGUAGE_CODE):
  21. invoices = create_all_members_invoices_for_a_period(date)
  22. self.stdout.write(
  23. u'%d invoices were created' % len(invoices))