1+ import logging
2+ import time
3+
4+ '''
5+ EJERCICIO
6+ '''
7+
8+ logging .basicConfig (level = logging .DEBUG ,
9+ format = '%(asctime)s - %(levelname)s - %(message)s' ,
10+ handlers = [logging .StreamHandler ()])
11+
12+ logging .debug ('Esto es un mensaje de DEBUG' )
13+ logging .info ('Esto es un mensaje de INFO' )
14+ logging .warning ('Esto es un mensaje de WARNING' )
15+ logging .error ('Esto es un mensaje de ERROR' )
16+ logging .critical ('Esto es un mensaje de CRITICAL' )
17+
18+ '''
19+ EXTRA
20+ '''
21+
22+ class TaskManager :
23+ def __init__ (self ) -> None :
24+ self .tasks = {}
25+
26+ def add_task (self , name , description ):
27+ start_time = time .time ()
28+ if name not in self .tasks :
29+ self .tasks [name ] = description
30+ logging .info (f"Tarea añadida: { name } ." )
31+ else :
32+ logging .warning (
33+ f"Se ha intentado añadir una tarea que ya existe: { name } ." )
34+ logging .debug (f"Número de tareas: { len (self .tasks )} " )
35+ end_time = time .time ()
36+ self ._print_time (start_time , end_time )
37+
38+ def delete_task (self , name ):
39+ start_time = time .time ()
40+ if name in self .tasks :
41+ del self .tasks [name ]
42+ logging .info (f"Se ha eliminado la tarea: { name } ." )
43+ else :
44+ logging .error (
45+ f"Se ha intentado eliminar una tarea que no existe: { name } ." )
46+ logging .debug (f"Número de tareas: { len (self .tasks )} " )
47+ end_time = time .time ()
48+ self ._print_time (start_time , end_time )
49+
50+ def list_tasks (self ):
51+ start_time = time .time ()
52+ if self .tasks :
53+ logging .info (f"Lista de tareas: " )
54+ for name , description in self .tasks .items ():
55+ print (f"{ name } - { description } " )
56+ else :
57+ logging .info ("No hay tareas para mostrar." )
58+ end_time = time .time ()
59+ self ._print_time (start_time , end_time )
60+
61+ def _print_time (self , start_time , end_time ):
62+ logging .debug (
63+ f"Tiempo de ejecución { end_time - start_time :.6f} seg." )
64+
65+ task_manager = TaskManager ()
66+ task_manager .list_tasks ()
67+ task_manager .add_task ("Pan" , "Comprar 5 barras de pan" )
68+ task_manager .add_task ("Python" , "Estudiar Python" )
69+ task_manager .list_tasks ()
70+ task_manager .delete_task ("Python" )
71+ task_manager .list_tasks ()
72+ task_manager .add_task ("Pan" , "Comprar 5 barras de pan" )
73+ task_manager .delete_task ("Python" )
0 commit comments