-
Notifications
You must be signed in to change notification settings - Fork 0
/
cvhtmlgen.py
152 lines (125 loc) · 4.38 KB
/
cvhtmlgen.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#CV HTML Generator de MG
class CV:
def __init__(self):
self.nombre_apellidos = ""
self.email = ""
self.telefono = ""
self.estudios = []
self.experiencia = []
self.certificados = []
self.idiomas = []
def agregar_nombre_apellidos(self, nombre_apellidos):
self.nombre_apellidos = nombre_apellidos
def agregar_email(self, email):
self.email = email
def agregar_telefono(self, telefono):
self.telefono = telefono
def agregar_estudio(self, estudio):
self.estudios.append(estudio)
def agregar_experiencia(self, experiencia):
self.experiencia.append(experiencia)
def agregar_certificado(self, certificado):
self.certificados.append(certificado)
def agregar_idioma(self, idioma):
self.idiomas.append(idioma)
def limpiar_datos(self):
self.nombre_apellidos = ""
self.email = ""
self.telefono = ""
self.estudios = []
self.experiencia = []
self.certificados = []
self.idiomas = []
def generar_cv_html(self):
html = f"""
<div id="header"></div>
<div class="left"></div>
<div class="stuff">
<br><br>
<h1>CV</h1>
<h2>{self.nombre_apellidos}</h2>
<hr />
<br>
<p class="head">Contacto</p>
<ul>
<li>Email: {self.email}</li>
<li>Teléfono: {self.telefono}</li>
</ul>
<p class="head">Estudios</p>
<ul>
"""
for estudio in self.estudios:
html += f"<li>Año: {estudio[0]}, Título: {estudio[1]}</li>"
html += """
</ul>
<p class="head">Experiencia Laboral</p>
<ul>
"""
for exp in self.experiencia:
html += f"<li>Año: {exp[0]}, Descripción: {exp[1]}</li>"
if self.certificados:
html += """
</ul>
<p class="head">Certificados</p>
<ul>
"""
for certificado in self.certificados:
html += f"<li>{certificado}</li>"
if self.idiomas:
html += """
</ul>
<p class="head">Idiomas</p>
<ul>
"""
for idioma in self.idiomas:
html += f"<li>{idioma}</li>"
html += """
</ul>
</div>
<div class="right"></div>
<div id="footer">
</div>
"""
return html
print("¡Bienvenido al CV Generator de MG!")
cv = CV()
nombre_apellidos = input("Introduce tu nombre y apellidos: ")
cv.agregar_nombre_apellidos(nombre_apellidos)
email = input("Introduce tu email: ")
cv.agregar_email(email)
telefono = input("Introduce tu número de teléfono: ")
cv.agregar_telefono(telefono)
while True:
año_estudio = input("Introduce el año en el que cursaste tu formación: ")
titulo_estudio = input("Introduce el título de tu formación: ")
cv.agregar_estudio((año_estudio, titulo_estudio))
agregar_otro = input("¿Quieres añadir otro estudio? (s/n): ")
if agregar_otro.lower() != 's':
break
while True:
año_experiencia = input("Introduce el intervalo de tu experiencia laboral: ")
descripcion_experiencia = input("Introduce la descripción de esta experiencia laboral: ")
cv.agregar_experiencia((año_experiencia, descripcion_experiencia))
agregar_otra = input("¿Quieres añadir otra experiencia laboral? (s/n): ")
if agregar_otra.lower() != 's':
break
agregar_certificados = input("¿Quieres añadir certificados? (s/n): ")
if agregar_certificados.lower() == 's':
while True:
certificado = input("Introduce un certificado: ")
cv.agregar_certificado(certificado)
agregar_otro = input("¿Quieres añadir otro certificado? (s/n): ")
if agregar_otro.lower() != 's':
break
agregar_idiomas = input("¿Quieres añadir idiomas? (s/n): ")
if agregar_idiomas.lower() == 's':
while True:
idioma = input("Introduce un idioma: ")
cv.agregar_idioma(idioma)
agregar_otro = input("¿Quieres añadir otro idioma? (s/n): ")
if agregar_otro.lower() != 's':
break
cv_html = cv.generar_cv_html()
with open("cv_generado.html", "w") as file:
file.write(cv_html)
print("¡Gracias por usar CV Generator de MG! Tu CV ha sido generado como cv_generado.html!")