Skip to content

Commit 6c9f8df

Browse files
authored
Update Lista de Tareas
1 parent c4a7252 commit 6c9f8df

File tree

1 file changed

+28
-5
lines changed

1 file changed

+28
-5
lines changed

Lista de Tareas

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,19 +104,39 @@ class ListaDeTareas:
104104
if tiempo_restante == timedelta(days=1):
105105
print(f'Recordatorio: La tarea "{tarea.nombre}" está próxima a su fecha máxima.')
106106

107+
def guardar_tareas_en_archivo(self, nombre_archivo):
108+
with open(nombre_archivo, 'w') as file:
109+
for tarea in self.tareas:
110+
file.write(str(tarea) + '\n\n')
111+
107112
def main():
108113
print("¡Bienvenida a la Lista de Tareas de MG! Vamos a por ello.")
109114
lista_de_tareas = ListaDeTareas()
110115

116+
nombre_archivo = "tareas.txt"
117+
118+
# Verificar si hay un archivo de tareas existente
119+
try:
120+
with open(nombre_archivo, 'r') as file:
121+
tareas_copiadas = file.read()
122+
print("Se han encontrado tareas previamente guardadas. ¿Deseas recuperarlas?")
123+
recuperar = input("Introduce 's' para sí, o 'n' para no: ")
124+
if recuperar.lower() == 's':
125+
print("\nTareas recuperadas:")
126+
print(tareas_copiadas)
127+
except FileNotFoundError:
128+
print("No se encontró un archivo de tareas previamente guardado.")
129+
111130
while True:
112131
print("\n1. Nueva Tarea")
113132
print("2. Nueva Tarea Simple")
114133
print("3. Eliminar Tarea")
115134
print("4. Completar Tarea")
116135
print("5. Visualizar Tareas Pendientes")
117136
print("6. Visualizar Tareas Realizadas")
118-
print("7. Salir")
119-
opcion = input("Introduce tu elección (1-7): ")
137+
print("7. Guardar Tareas en Archivo")
138+
print("8. Salir")
139+
opcion = input("Introduce tu elección (1-8): ")
120140

121141
if opcion == '1':
122142
nombre = input("Introduce el nombre de la tarea: ")
@@ -125,12 +145,12 @@ def main():
125145
fechamax_str = input("Introduce la fecha máxima (opcional, formato: dd/mm/yyyy): ")
126146
try:
127147
if fechamax_str:
128-
fechamax = datetime.strptime(fechamax_str, "%d/%m/%Y")
148+
fechamax = datetime.strptime(fechamax_str,"%d/%m/%Y")
129149
else:
130150
fechamax = None
131151
except ValueError:
132152
print("Fecha inválida. El formato debe ser dd/mm/yyyy.")
133-
continue # Mover la instrucción continue aquí
153+
continue
134154

135155
tarea = Tarea(nombre, categoria, prioridad, fechamax)
136156
lista_de_tareas.nueva_tarea(tarea)
@@ -147,10 +167,13 @@ def main():
147167
elif opcion == '6':
148168
lista_de_tareas.mostrar_tareas_realizadas()
149169
elif opcion == '7':
170+
lista_de_tareas.guardar_tareas_en_archivo(nombre_archivo)
171+
print("Tareas guardadas en el archivo 'tareas.txt'.")
172+
elif opcion == '8':
150173
print("Saliendo, hasta luego...")
151174
break
152175
else:
153-
print("Opción inexistente, introduce una opción válida. ¡A por ello!")
176+
print("Opción inexistente, introduce una opción válida.")
154177

155178
if __name__ == "__main__":
156179
main()

0 commit comments

Comments
 (0)