charge_subscriptions.py 950 B

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