Skip to content

Commit c542fdd

Browse files
authored
Merge pull request #52 from vicenteneto/dev
Adicionando suporte para a pontuaçao dobrada do capitao
2 parents 728ae2c + 27ae4f9 commit c542fdd

7 files changed

Lines changed: 25 additions & 10 deletions

File tree

CHANGES

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,18 @@ Changelog
33

44
Aqui você pode ver a lista completa de modificações entre cada versão.
55

6+
Versão 1.4.15
7+
-------------
8+
9+
Lançada em 15 de abril de 2018
10+
11+
- Adicionando suporte para pontuaçao do capitao
12+
13+
614
Versão 1.4.14
715
-------------
816

9-
Lançada em 1 de abril de 2018
17+
Lançada em 14 de abril de 2018
1018

1119
- Atualizando projeto exemplo para suportar Python3
1220
- Corrigindo erro ao visualizar Mercado

cartolafc/api.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ def time_logado(self):
143143
url = '{api_url}/auth/time'.format(api_url=self._api_url)
144144
data = self._request(url)
145145
clubes = {clube['id']: Clube.from_dict(clube) for clube in data['clubes'].values()}
146-
return Time.from_dict(data, clubes=clubes)
146+
return Time.from_dict(data, clubes=clubes, capitao=data['capitao_id'])
147147

148148
def clubes(self):
149149
url = '{api_url}/clubes'.format(api_url=self._api_url)
@@ -248,7 +248,7 @@ def time(self, id=None, nome=None, slug=None, as_json=False):
248248
return data
249249

250250
clubes = {clube['id']: Clube.from_dict(clube) for clube in data['clubes'].values()}
251-
return Time.from_dict(data, clubes=clubes)
251+
return Time.from_dict(data, clubes=clubes, capitao=data['capitao_id'])
252252

253253
def time_parcial(self, id=None, nome=None, slug=None, parciais=None):
254254
if self.mercado().status.id == MERCADO_FECHADO:
@@ -260,6 +260,10 @@ def time_parcial(self, id=None, nome=None, slug=None, parciais=None):
260260
tem_parcial = atleta.id in parciais
261261
atleta.pontos = parciais[atleta.id].pontos if tem_parcial else 0
262262
atleta.scout = parciais[atleta.id].scout if tem_parcial else {}
263+
264+
if atleta.is_capitao:
265+
atleta.pontos *= 2
266+
263267
time.pontos += atleta.pontos
264268

265269
return time

cartolafc/models.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,22 +43,23 @@ def __repr__(self):
4343
class 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

6465
class 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

examples/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Python-CartolaFC==1.4.14
1+
Python-CartolaFC==1.4.15

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"""
1515
from setuptools import setup
1616

17-
version = '1.4.14'
17+
version = '1.4.15'
1818
packages = ['cartolafc']
1919
install_requires = ['requests']
2020
python_cartolafc_pkg_data = []

testdata/time.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,7 @@
564564
"temporada_inicial": 2013,
565565
"simplificado": false
566566
},
567+
"capitao_id": 73800,
567568
"patrimonio": 0,
568569
"esquema_id": 3,
569570
"pontos": 70.02978515625,

testdata/time_logado.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -621,6 +621,7 @@
621621
"status": "HABILITADO"
622622
}
623623
],
624+
"capitao_id": 38140,
624625
"total_ligas": 3,
625626
"total_ligas_matamata": 1
626627
}

0 commit comments

Comments
 (0)