-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindividual_management.py
More file actions
57 lines (51 loc) · 2.66 KB
/
individual_management.py
File metadata and controls
57 lines (51 loc) · 2.66 KB
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
# Add individual
def add_individual(data, individual_name, team_name=None):
if not individual_name:
return "Individual name cannot be empty!"
if individual_name in data["individuals"]:
return f"Individual {individual_name} already exists!"
if team_name:
if team_name in data["teams"]:
# Check if the individual is already in another team
for other_team, members in data["teams"].items():
if individual_name in members:
return f"Individual {individual_name} is already in Team {other_team}. Remove them first before adding to Team {team_name}."
data["teams"][team_name].append(individual_name)
return f"Individual {individual_name} added to Team {team_name} successfully!"
else:
return f"Team {team_name} not found!"
else:
data["individuals"].append(individual_name)
return f"Participant {individual_name} added successfully as an individual!"
# Delete individual
def delete_individual(data, individual_name):
if individual_name in data["individuals"]:
data["individuals"].remove(individual_name)
return f"Individual {individual_name} deleted successfully!"
for team, members in data["teams"].items():
if individual_name in members:
members.remove(individual_name)
return f"Individual {individual_name} removed from Team {team} and deleted successfully!"
return f"Individual {individual_name} not found!"
# Assign individual to event
def assign_individual_to_event(data, individual_name, event_name):
if individual_name not in data["individuals"]:
return f"Individual {individual_name} not found!"
if event_name not in data["events"]["individual_events"]:
return f"Individual event {event_name} not found!"
# Check if the individual is already assigned to another event
previously_assigned = False
for existing_event, participants in data["events"]["individual_events"].items():
if individual_name in participants:
participants.remove(individual_name)
previously_assigned = True
break # Remove the individual from the previous event
# Assign the individual to the new event
data["events"]["individual_events"][event_name].append(individual_name)
if previously_assigned:
return f"Individual {individual_name} reassigned to Individual event {event_name} successfully!"
else:
return f"Individual {individual_name} assigned to Individual event {event_name} successfully!"
# Utility function for input validation
def is_valid_input(input_str):
return bool(input_str and input_str.strip())