Skip to content

Commit c32693a

Browse files
authored
Merge pull request mouredev#4494 from LuisOlivaresJ/25-Python
#25-Python
2 parents a72c34f + 9c73ddd commit c32693a

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed
+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
"""
2+
* Explora el concepto de "logging" en tu lenguaje. Configúralo y muestra
3+
* un ejemplo con cada nivel de "severidad" disponible.
4+
"""
5+
6+
import logging
7+
8+
# Logging configuration
9+
logging.basicConfig(level=logging.DEBUG,
10+
filename='example.log',
11+
filemode='a',
12+
format='%(asctime)s - %(levelname)s - %(message)s'
13+
)
14+
15+
# Examples of each level of severity
16+
logging.debug('This is a DEBUG message')
17+
logging.info('This is a INFO message')
18+
logging.warning('This is a WARNING message')
19+
logging.error('This is a ERROR message')
20+
logging.critical('This is a CRITICAL message')
21+
22+
"""
23+
* DIFICULTAD EXTRA (opcional):
24+
* Crea un programa ficticio de gestión de tareas que permita añadir, eliminar
25+
* y listar dichas tareas.
26+
* - Añadir: recibe nombre y descripción.
27+
* - Eliminar: por nombre de la tarea.
28+
* Implementa diferentes mensajes de log que muestren información según la
29+
* tarea ejecutada (a tu elección).
30+
* Utiliza el log para visualizar el tiempo de ejecución de cada tarea.
31+
"""
32+
33+
class Task:
34+
def __init__(self, name, description, finalized=False, final_date=None):
35+
self.name = name
36+
self.description = description
37+
self.finalized = finalized
38+
self.final_date = final_date
39+
40+
41+
class Task_manager():
42+
43+
def __init__(self):
44+
self.tasks = [] # List to store tasks as dictionaries
45+
46+
47+
def add_task(self, task: Task):
48+
self.tasks.append(
49+
{
50+
'name': task.name,
51+
'description': task.description,
52+
'finalized': task.finalized,
53+
'final_date': task.final_date
54+
}
55+
)
56+
logging.info(f'Task added.')
57+
58+
59+
def delete_task(self, name: str):
60+
for task in self.tasks:
61+
if task['name'] == name:
62+
self.tasks.remove(task)
63+
logging.info(f'Task deleted.')
64+
return
65+
logging.warning(f'Task was not fouded.')
66+
67+
68+
def list_tasks(self):
69+
for task in self.tasks:
70+
print(task)
71+
72+
def change_to_finalized(self, name: str):
73+
for task in self.tasks:
74+
if task['name'] == name:
75+
task['finalized'] = True
76+
logging.info(f'Task finalized.')
77+
return
78+
logging.warning(f'Task was not fouded.')
79+
80+
task1 = Task('Task1', 'Description of task 1')
81+
task2 = Task('Task2', 'Description of task 2', final_date='2024-06-23')
82+
83+
task_manager = Task_manager()
84+
task_manager.add_task(task1)
85+
task_manager.add_task(task2)
86+
task_manager.list_tasks()
87+
task_manager.delete_task('Task1') # Task deleted
88+
task_manager.list_tasks()
89+
task_manager.delete_task('Task3') # Task not found
90+
task_manager.change_to_finalized('Task2')
91+
92+
task_manager.list_tasks()

0 commit comments

Comments
 (0)