First release

This commit is contained in:
2023-02-26 11:44:24 +01:00
commit de951d377e
5 changed files with 125 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
output/

75
generate_letters.py Normal file
View File

@@ -0,0 +1,75 @@
"""Generate all 'lettres de motivation' for Parcourssup platform"""
import os
import sys
import re
TEMPLATE_PATH = os.path.join(os.path.dirname(__file__), "templates")
OUT_PATH = os.path.join(os.path.dirname(__file__), "output")
SIGNATURE = "Moi-même"
CONF = {
"prepa": [
{"name": "Lycée Thiers", "name_de": "du #", "name_le": "le #", "name_à": "au #", "name_à_superlatif": "au prestigieux #",},
{"name": "Lycée Henri IV", "name_de": "du #", "name_le": "le #", "name_à": "au #", "name_à_superlatif": "au prestigieux #",},
],
"insa": [
{"name": "INSA de Lyon", "name_de": "de l'#", "name_le": "l'#", "name_à": "à l'#",},
{"name": "INSA de Toulouse", "name_de": "de l'#", "name_le": "l'#", "name_à": "à l'#",},
],
"fac": [
{"name": "Licence Mathématiques", "name_de": "de la #", "name_le": "la #", "name_à": "dans la #",},
{"name": "Licence Physique", "name_de": "de la #", "name_le": "la #", "name_à": "dans la #",},
],
"mpci": [
{"name": "Licence MPCI", "ville_de": "de Marseille", "name_de": "de la #", "name_le": "la #", "name_à": "dans la #",},
],
}
sys.stdout.reconfigure(encoding='utf-8')
#For each type of 'voeux'
for voeu_type in CONF:
#Filename for the template
template_filename = os.path.join(TEMPLATE_PATH, voeu_type + ".txt")
#Chech whether the template exists
if os.path.exists(template_filename):
#Read the template
with open(template_filename, "r", encoding="utf-8") as fileobj:
template_content = fileobj.read()
#Find all tags in the template
tags = set(re.findall("\[(\w+)\]", template_content))
#Get list of 'voeux' in the type of 'voeux'
voeux_list = CONF[voeu_type]
for voeu in voeux_list:
#Replace '#' by the 'name'
for item in voeu.copy():
voeu[item] = voeu[item].replace("#", voeu["name"])
#Add the 'signature' in the dictionary
voeu["signature"] = SIGNATURE
#Add the capitalized version in the dictionary
for item in voeu.copy():
voeu[item.capitalize()] = voeu[item][0].upper() + voeu[item][1:]
#Build the final 'lettre de motivation'
motivation_content = template_content
for tag in tags:
if tag not in voeu:
raise KeyError(f"Missing '{tag}' in CONF for template {voeu_type}")
motivation_content = motivation_content.replace(f"[{tag}]", voeu[tag])
#Filename for the output file
motivation_filename = os.path.join(OUT_PATH, voeu_type, voeu["name"].replace(" ", "_") + ".txt")
#Create missing folders if needed
os.makedirs(os.path.dirname(motivation_filename), exist_ok=True)
#Wrtie the final 'lettre de motivation'
with open(motivation_filename, "w", encoding="utf-8") as fileobj:
fileobj.write(motivation_content)

16
templates/insa.txt Normal file
View File

@@ -0,0 +1,16 @@
Cher Comité de Sélection,
Je suis ravi de vous soumettre ma candidature pour intégrer [name_le] en tant qu'étudiant pour l'année universitaire à venir.
Je suis actuellement en train de terminer mes études secondaires avec succès et j'ai une grande passion pour les sciences et la technologie. En effet, j'ai été fasciné par les avancées technologiques qui ont eu lieu ces dernières années et j'ai décidé de poursuivre mes études dans un domaine lié à l'ingénierie.
En explorant différentes options, j'ai été attiré par [name_le] en raison de sa réputation d'excellence académique et de son engagement envers l'innovation et la recherche. En effet, [name_le] a une longue histoire de recherche en ingénierie et d'enseignement de qualité supérieure, et je suis convaincu que je pourrais bénéficier de cette expérience pour atteindre mes objectifs personnels et professionnels.
En outre, j'ai eu l'occasion de rencontrer plusieurs anciens élèves [name_de] qui ont tous parlé de leur expérience avec enthousiasme et passion. J'ai également été impressionné par le programme d'études proposé par l'école, qui me permettra de me spécialiser dans des domaines tels que l'énergie renouvelable, la mécanique, l'électronique et l'informatique.
Enfin, je suis convaincu que ma passion, mon dévouement et mes compétences académiques me permettront de réussir [name_à]. J'ai travaillé dur pour atteindre mes objectifs académiques et je suis convaincu que je pourrai faire de même [name_à].
Je vous remercie de prendre en compte ma candidature et je suis impatient de vous rencontrer lors de l'entretien.
Sincèrement,
[signature]

17
templates/mpci.txt Normal file
View File

@@ -0,0 +1,17 @@
Cher Comité de sélection,
Je vous écris pour soumettre ma candidature pour intégrer [name_le] à l'Université [ville_de] pour l'année universitaire à venir.
Je suis actuellement en train de terminer mon année de Terminale scientifique, avec une spécialisation en mathématiques et en physique. Depuis que j'étais jeune, j'ai toujours été fasciné par les mathématiques et les sciences et j'ai toujours voulu poursuivre mes études dans un domaine qui combine ces deux domaines.
En explorant différentes options, j'ai été attiré par [name_le] à l'Université [ville_de] en raison de son programme d'études rigoureux et de sa réputation d'excellence académique. J'ai également été impressionné par les possibilités de recherche et de stage offertes par l'université, ainsi que par son engagement envers la diversité et l'inclusion.
Je suis convaincu que [name_le] est la meilleure option pour moi car elle me permettra de combiner mes compétences en mathématiques et en physique avec des applications concrètes dans le domaine de l'informatique. Je suis particulièrement intéressé par les cours tels que la programmation, l'analyse numérique, la modélisation mathématique et la théorie de l'information, car je crois qu'ils me permettront de développer des compétences pratiques et théoriques de haute qualité.
Enfin, je suis convaincu que ma passion, mon dévouement et mes compétences académiques me permettront de réussir dans [name_le]. J'ai travaillé dur pour atteindre mes objectifs académiques et je suis prêt à relever de nouveaux défis dans un environnement d'apprentissage stimulant.
Je vous remercie de prendre en compte ma candidature et j'espère avoir l'occasion de discuter avec vous lors de l'entretien.
Sincèrement,
[signature]

16
templates/prepa.txt Normal file
View File

@@ -0,0 +1,16 @@
Cher Comité de Sélection,
Je suis heureux de vous soumettre ma candidature pour intégrer la classe préparatoire PCSI [name_à_superlatif] pour l'année universitaire à venir.
Depuis que j'étais jeune, j'ai toujours été fasciné par les sciences et les mathématiques. En tant qu'étudiant en Terminale scientifique, j'ai réussi à acquérir des compétences solides dans ces domaines. Cependant, je suis convaincu que pour atteindre mes objectifs académiques et professionnels, je dois me préparer dans un environnement d'apprentissage stimulant et exigeant.
[Name_le] est connu pour son excellence académique et sa réputation en matière de préparation des étudiants pour les grandes écoles. La classe préparatoire PCSI offre un programme d'études rigoureux et complet, qui combine des cours théoriques de haute qualité avec des travaux pratiques et des projets stimulants. Je suis particulièrement intéressé par les cours tels que la physique, les mathématiques, la chimie et l'informatique, car je crois qu'ils me permettront de développer des compétences essentielles pour poursuivre une carrière dans l'ingénierie.
En outre, je suis convaincu que [name_le] est le meilleur choix pour moi car il offre un environnement d'apprentissage stimulant, compétitif et convivial. J'ai également été impressionné par l'engagement du lycée envers la diversité et l'inclusion, et je suis convaincu que je pourrai bénéficier d'un environnement d'apprentissage diversifié et inclusif.
Enfin, je suis convaincu que mes compétences académiques, ma passion pour les sciences et les mathématiques et mon engagement pour atteindre mes objectifs me permettront de réussir dans la classe préparatoire PCSI [name_à].
Je vous remercie de prendre en compte ma candidature et je suis impatient de vous rencontrer lors de l'entretien.
Sincèrement,
[signature]