Woziii commited on
Commit
f2109df
·
verified ·
1 Parent(s): 9dfbdce

Update pdf_generator.py

Browse files
Files changed (1) hide show
  1. pdf_generator.py +7 -19
pdf_generator.py CHANGED
@@ -32,26 +32,14 @@ def generate_pdf(contract_type, is_free, author_type, author_info,
32
  additional_rights, remuneration, is_exclusive):
33
  """
34
  Génère un PDF du contrat avec des champs interactifs.
35
- Version optimisée pour une génération plus rapide.
36
-
37
- Args:
38
- contract_type (list): Liste des types de contrats sélectionnés
39
- is_free (bool): True si la cession est gratuite, False sinon
40
- author_type (str): Type d'auteur ("Personne physique" ou "Personne morale")
41
- author_info (dict): Informations sur l'auteur
42
- work_description (str): Description de l'œuvre
43
- image_description (str): Description de l'image
44
- supports (list): Liste des supports sélectionnés
45
- additional_rights (list): Liste des droits supplémentaires sélectionnés
46
- remuneration (str): Modalités de rémunération
47
- is_exclusive (bool): True si la cession est exclusive, False sinon
48
-
49
- Returns:
50
- str: Chemin vers le fichier PDF généré
51
  """
52
  # Conversion des paramètres
53
  is_free_bool = (is_free == "Gratuite")
54
- is_exclusive_bool = bool(is_exclusive)
 
 
 
 
55
 
56
  # Ajouter les supports par défaut
57
  final_supports = ensure_default_supports(supports)
@@ -59,11 +47,11 @@ def generate_pdf(contract_type, is_free, author_type, author_info,
59
  # Créer un nom de fichier temporaire pour le PDF
60
  output_filename = create_temp_file(prefix="contrat_cession_", suffix=".pdf")
61
 
62
- # Générer le contenu du contrat - version simplifiée pour plus de rapidité
63
  contract_elements = ContractBuilder.build_contract_elements(
64
  contract_type, is_free_bool, author_type, author_info,
65
  work_description, image_description, final_supports,
66
- additional_rights, remuneration, is_exclusive_bool
67
  )
68
 
69
  # Créer un document PDF avec moins d'options pour accélérer la génération
 
32
  additional_rights, remuneration, is_exclusive):
33
  """
34
  Génère un PDF du contrat avec des champs interactifs.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  """
36
  # Conversion des paramètres
37
  is_free_bool = (is_free == "Gratuite")
38
+ # L'exclusivité n'est possible que si la cession est onéreuse
39
+ is_exclusive_bool = bool(is_exclusive) and not is_free_bool
40
+
41
+ # Filtrer les droits supplémentaires si la cession est gratuite
42
+ final_additional_rights = [] if is_free_bool else additional_rights
43
 
44
  # Ajouter les supports par défaut
45
  final_supports = ensure_default_supports(supports)
 
47
  # Créer un nom de fichier temporaire pour le PDF
48
  output_filename = create_temp_file(prefix="contrat_cession_", suffix=".pdf")
49
 
50
+ # Générer le contenu du contrat avec les paramètres mis à jour
51
  contract_elements = ContractBuilder.build_contract_elements(
52
  contract_type, is_free_bool, author_type, author_info,
53
  work_description, image_description, final_supports,
54
+ final_additional_rights, remuneration, is_exclusive_bool
55
  )
56
 
57
  # Créer un document PDF avec moins d'options pour accélérer la génération