Skip to content

Commit 9a28602

Browse files
committed
Add allow_duplicate_team_nicknames config
1 parent 3be8abe commit 9a28602

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

chillin_server/helpers/auth.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
# python import
44
from pydblite import Base
55

6+
# project imports
7+
from ..config import Config
8+
69

710
class AgentAuthenticator:
811

@@ -11,6 +14,8 @@ def __init__(self, sides, allowed_teams):
1114
self._allowed_teams = allowed_teams
1215
self._create_agent_table()
1316

17+
self._allow_duplicate_team_nicknames = Config.config['general'].get('allow_duplicate_team_nicknames', True)
18+
1419

1520
def _create_agent_table(self):
1621
agent_table = Base('agents', save_to_file=False)
@@ -39,10 +44,18 @@ def join(self, sock, client_team_id, client_agent_id, client_agent_name):
3944
if not self._allowed_teams or client_team_id in self._allowed_teams:
4045
r = db(team_id=client_team_id)
4146
if r:
42-
side_name = r[0]['side_name']
43-
if client_agent_name in self._sides[side_name] and \
44-
not db(side_name=side_name, agent_name=client_agent_name):
45-
ins_flag = True
47+
if not self._allow_duplicate_team_nicknames:
48+
side_name = r[0]['side_name']
49+
if client_agent_name in self._sides[side_name] and \
50+
not db(side_name=side_name, agent_name=client_agent_name):
51+
ins_flag = True
52+
else:
53+
for side in self._sides:
54+
side_name = side
55+
if client_agent_name in self._sides[side_name] and \
56+
not db(side_name=side_name, agent_name=client_agent_name):
57+
ins_flag = True
58+
break
4659
else:
4760
side_name = sorted(list(self._sides.keys()))[self._count_joined_teams]
4861
side_name = self._allowed_teams.get(client_team_id, side_name)

0 commit comments

Comments
 (0)