route.py 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. from django.core.management.base import BaseCommand, CommandError
  2. from services.models import Route
  3. class Command(BaseCommand):
  4. help = 'Informations sur les routes'
  5. def add_arguments(self, parser):
  6. parser.add_argument('route')
  7. group = parser.add_mutually_exclusive_group(required=True)
  8. group.add_argument('--ip', action='store_true')
  9. group.add_argument('--adh', action='store_true')
  10. group.add_argument('--tel', action='store_true')
  11. group.add_argument('--email', action='store_true')
  12. def handle(self, *args, **options):
  13. try:
  14. route = Route.objects.get(name=options['route'])
  15. except Route.DoesNotExist:
  16. raise CommandError('La route « %s » n’existe pas.' % options['route'])
  17. if options['ip']:
  18. for ip in route.get_ip():
  19. print(ip)
  20. elif options['adh']:
  21. for adh in route.get_adh():
  22. print("%s (%s)" % (adh, adh.adherent))
  23. elif options['tel']:
  24. for tel in route.get_tel():
  25. print(tel)
  26. elif options['email']:
  27. for tel in route.get_email():
  28. print(tel)