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