mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-10-31 03:29:52 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (C) 2024 by Animath
 | |
| # SPDX-License-Identifier: GPL-3.0-or-later
 | |
| 
 | |
| from pathlib import Path
 | |
| 
 | |
| from django.core.management import BaseCommand
 | |
| from participation.models import Team
 | |
| 
 | |
| 
 | |
| class Command(BaseCommand):
 | |
|     help = """Cette commande permet d'exporter dans le dossier output/photo_authorizations l'ensemble des
 | |
|     autorisations de droit à l'image des participant⋅es, triées par équipe, incluant aussi celles de la finale."""
 | |
| 
 | |
|     def handle(self, *args, **kwargs):
 | |
|         base_dir = Path(__file__).parent.parent.parent.parent
 | |
|         base_dir /= "output"
 | |
|         if not base_dir.is_dir():
 | |
|             base_dir.mkdir()
 | |
|         base_dir /= "photo_authorizations"
 | |
|         if not base_dir.is_dir():
 | |
|             base_dir.mkdir()
 | |
| 
 | |
|         for team in Team.objects.filter(participation__valid=True).all():
 | |
|             team_dir = base_dir / f"{team.trigram} - {team.name}"
 | |
|             if not team_dir.is_dir():
 | |
|                 team_dir.mkdir()
 | |
| 
 | |
|             for participant in team.participants.all():
 | |
|                 if participant.photo_authorization:
 | |
|                     with participant.photo_authorization.file as file_input:
 | |
|                         with open(team_dir / f"{participant}.pdf", 'wb') as file_output:
 | |
|                             file_output.write(file_input.read())
 | |
| 
 | |
|                 if participant.photo_authorization_final:
 | |
|                     with participant.photo_authorization_final.file as file_input:
 | |
|                         with open(team_dir / f"{participant} (finale).pdf", 'wb') as file_output:
 | |
|                             file_output.write(file_input.read())
 |