@@ -43,22 +43,23 @@ def __repr__(self):
4343class Atleta (BaseModel ):
4444 """ Representa um atleta (jogador ou técnico), e possui informações como o apelido, clube e pontuação obtida """
4545
46- def __init__ (self , atleta_id , apelido , pontos , scout , posicao_id , clube , status_id = None ):
46+ def __init__ (self , atleta_id , apelido , pontos , scout , posicao_id , clube , status_id = None , is_capitao = None ):
4747 self .id = atleta_id
4848 self .apelido = apelido
4949 self .pontos = pontos
5050 self .scout = scout
5151 self .posicao = _posicoes [posicao_id ]
5252 self .clube = clube
5353 self .status = _atleta_status [status_id ] if status_id else None
54+ self .is_capitao = is_capitao
5455
5556 @classmethod
56- def from_dict (cls , data , clubes , atleta_id = None ):
57+ def from_dict (cls , data , clubes , atleta_id = None , is_capitao = None ):
5758 atleta_id = atleta_id if atleta_id else data ['atleta_id' ]
5859 pontos = data ['pontos_num' ] if 'pontos_num' in data else data ['pontuacao' ]
5960 clube = clubes [data ['clube_id' ]]
6061 return cls (atleta_id , data ['apelido' ], pontos , data ['scout' ], data ['posicao_id' ], clube ,
61- data .get ('status_id' , None ))
62+ data .get ('status_id' , None ), is_capitao )
6263
6364
6465class Clube (BaseModel ):
@@ -183,9 +184,9 @@ def __init__(self, patrimonio, valor_time, ultima_pontuacao, atletas, info):
183184 self .info = info
184185
185186 @classmethod
186- def from_dict (cls , data , clubes ):
187+ def from_dict (cls , data , clubes , capitao ):
187188 data ['atletas' ].sort (key = lambda a : a ['posicao_id' ])
188- atletas = [Atleta .from_dict (atleta , clubes ) for atleta in data ['atletas' ]]
189+ atletas = [Atleta .from_dict (atleta , clubes , is_capitao = atleta [ 'atleta_id' ] == capitao ) for atleta in data ['atletas' ]]
189190 info = TimeInfo .from_dict (data ['time' ])
190191 return cls (data ['patrimonio' ], data ['valor_time' ], data ['pontos' ], atletas , info )
191192
0 commit comments