1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| class MeetingMinutesSystem:
def __init__(self):
self.minutes = {}
self.action_items = {}
def create_minutes(self, meeting_id, attendees, agenda_items):
"""Crear minutos de reunión"""
self.minutes[meeting_id] = {
'meeting_id': meeting_id,
'date': '2025-10-26',
'attendees': attendees,
'agenda_items': agenda_items,
'decisions': [],
'action_items': [],
'next_meeting': None,
'status': 'Draft'
}
def add_decision(self, meeting_id, decision, responsible, deadline=None):
"""Añadir decisión"""
if meeting_id in self.minutes:
decision_item = {
'decision': decision,
'responsible': responsible,
'deadline': deadline,
'status': 'Pending'
}
self.minutes[meeting_id]['decisions'].append(decision_item)
def add_action_item(self, meeting_id, action, owner, deadline, priority='Normal'):
"""Añadir item de acción"""
if meeting_id in self.minutes:
action_item = {
'action': action,
'owner': owner,
'deadline': deadline,
'priority': priority,
'status': 'Open'
}
self.minutes[meeting_id]['action_items'].append(action_item)
self.action_items[f"{meeting_id}_{len(self.minutes[meeting_id]['action_items'])}"] = action_item
def get_pending_actions(self, owner=None):
"""Obtener acciones pendientes"""
pending = []
for action_id, action in self.action_items.items():
if action['status'] == 'Open':
if owner is None or action['owner'] == owner:
pending.append(action)
return pending
# Ejemplo de uso
minutes_system = MeetingMinutesSystem()
minutes_system.create_minutes('MEET-001', ['CEO', 'CISO', 'CTO', 'CFO'], [
'Aprobar presupuesto de seguridad',
'Revisar política de BYOD'
])
minutes_system.add_decision('MEET-001', 'Aprobar presupuesto de $2M para 2025', 'CFO', '2025-11-01')
minutes_system.add_action_item('MEET-001', 'Actualizar política de BYOD', 'CISO', '2025-11-15', 'High')
pending_actions = minutes_system.get_pending_actions('CISO')
print(f"Acciones pendientes CISO: {len(pending_actions)}")
|