Skip to content

Commit d03e0b1

Browse files
committed
#25 - python
1 parent 840fca8 commit d03e0b1

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

Roadmap/25 - LOGS/python/pyramsd.py

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
import logging
2+
3+
# Configurar logger
4+
logging.basicConfig(level=logging.DEBUG,
5+
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
6+
datefmt='%Y-%m-%d %H:%M:%S')
7+
8+
# Crear logger
9+
logger = logging.getLogger(__name__)
10+
11+
# Mensajes de logs
12+
logger.debug('Mensaje de depuración')
13+
logger.info('Mensaje de información')
14+
logger.warning('Mensaje de advertencia')
15+
logger.error('Mensaje de error')
16+
logger.critical('Mensaje crítico')
17+
18+
'''
19+
EXTRA
20+
'''
21+
import random
22+
23+
class TaskManager:
24+
def __init__(self) -> None:
25+
self.tasks={}
26+
logger.info('Gestor de tareas iniciado')
27+
28+
def add_task(self):
29+
name = input('Nombre de la tarea a agregar: ')
30+
description = input('Descripción de la tarea: ')
31+
if name in self.tasks:
32+
logger.warning(f'Tarea ya existente: {name}')
33+
return
34+
exec_time = random.randint(1, 5)
35+
self.tasks[name] = {
36+
'description': description,
37+
'exec_time': exec_time
38+
}
39+
logger.info(f'Tarea{name} añadida')
40+
logger.debug(f'tiempo de ejecución de la tarea {name}: {exec_time} segundos')
41+
42+
def delete_task(self):
43+
name = input('Ingrese tarea a eliminar: ')
44+
if name not in self.tasks:
45+
logger.warning(f'Tarea inexistente: {name}')
46+
return
47+
del self.tasks[name]
48+
logger.info(f'Tarea {name} eliminada')
49+
50+
def get_task(self):
51+
name = input('Buscar tarea: ')
52+
if name not in self.tasks:
53+
logger.warning(f'Tarea inexistente: {name}')
54+
return
55+
task = self.tasks[name]
56+
print(f"Tarea: {name}\n\tDescripción: {task['description']}\n\tTiempo de ejecución: {task['exec_time']} segundos")
57+
logger.info(f'Información de la tarea {name} proporcionada')
58+
59+
60+
def list_tasks(self):
61+
if not self.tasks:
62+
logger.info('No se encontraron tareas')
63+
return
64+
for name, info in self.tasks.items():
65+
print(f"Tarea: {name}:\n\tDescripción: {info['description']}\n\tTiempo de ejecución: {info['exec_time']} segundos")
66+
logger.info(f"Tiempo de ejecucion de la tarea '{name}' es {info['exec_time']} segundos.")
67+
68+
managment = TaskManager()
69+
70+
while True:
71+
print('Gestor de tareas')
72+
print('1. Añadir tarea')
73+
print('2. Eliminar tarea')
74+
print('3. Buscar tera')
75+
print('4. Listar tareas')
76+
print('5. Salir')
77+
78+
choice = input('>>> ')
79+
if choice == '1':
80+
managment.add_task()
81+
elif choice == '2':
82+
managment.delete_task()
83+
elif choice == '3':
84+
managment.get_task()
85+
elif choice == '4':
86+
managment.list_tasks()
87+
elif choice == '5':
88+
break
89+
else:
90+
print('Opción no válida')

0 commit comments

Comments
 (0)