def renderDados(self): lances_siblings = self.lance.lan_jogo.jog_lances lance_anterior = None lance_posterior = None for lan in lances_siblings: if lan.lan_numero == self.lance.lan_numero - 1: lance_anterior = lan if lan.lan_numero == self.lance.lan_numero + 1: lance_posterior = lan acu_jornadas = {} acumuladores = AcumuladorJornada.all().filter("acuj_jornada = ", self.lance.lan_jogo.jog_jornada).filter("acuj_versao = ", config.VERSAO_ACUMULADOR) for acu in acumuladores: acu_jornadas[acu.acuj_jornada.jor_nome] = acu.acuj_content detalhe_icc = DetalheICC() detalhe_icc.setLances([self.lance]) detalhe_icc.setAcumuladoresJornadas(acu_jornadas) resultados = detalhe_icc.gera() detalhe_icc_jogos = resultados["jogos"] logging.info(detalhe_icc_jogos) dados = { "lance": self.lance, "lance_anterior":lance_anterior, "lance_posterior":lance_posterior, "comentarios":self.lance.lan_comentadores.fetch(1000), "protagonistas": self.lance.lan_jogadores.fetch(1000), "tipo": Lance.translation_classe[self.lance.lan_classe], "detalhe_icc_jogos":detalhe_icc_jogos } return dados
def renderDados(self): # obter a lista de lances ordenadinhos lista_lances = Lance.gql("WHERE lan_epoca = :1 and lan_clubes = :2 ORDER by lan_data, lan_nome", self.epoca, self.clube.key()).fetch(1000) # obter a fonte dos lances -- usar a época toda! acu_jornadas = {} acumuladores = AcumuladorJornada.all().filter("acuj_epoca = ", self.epoca).filter("acuj_versao = ", config.VERSAO_ACUMULADOR) for acu in acumuladores: acu_jornadas[acu.acuj_jornada.jor_nome] = acu.acuj_content detalhe_icc = DetalheICC() detalhe_icc.setLances(lista_lances) detalhe_icc.setClube(self.clube) detalhe_icc.setAcumuladoresJornadas(acu_jornadas) resultados = detalhe_icc.gera() jogos = resultados["jogos"] total_icc_beneficio = resultados["total_icc_beneficio"] total_icc_prejuizo = resultados["total_icc_prejuizo"] total_icc = (total_icc_beneficio + total_icc_prejuizo) return {"jogos":jogos, "total_icc_beneficio":total_icc_beneficio, "total_icc_prejuizo":total_icc_prejuizo, "total_icc":total_icc}
def renderDados(self): jogo_dados = { "guarda_redes1":None, "guarda_redes2":None, "jogadores_inicio1":[], "jogadores_subst1":[], "jogadores_inicio2":[], "jogadores_subst2":[], "lances":[], "golos_virtuais_clube1":0, "golos_virtuais_clube2":0, "icc_clube1":0, "icc_clube2":0, "ia":"" } # setas de navegação jornada_anterior = self.jogo.jog_jornada.jor_competicao.cmp_jornadas.filter("jor_ordem = ", self.jogo.jog_jornada.jor_ordem - 1).get() jornada_posterior = self.jogo.jog_jornada.jor_competicao.cmp_jornadas.filter("jor_ordem = ", self.jogo.jog_jornada.jor_ordem + 1).get() jogo_anterior_clube1 = None jogo_anterior_clube2 = None jogo_posterior_clube1 = None jogo_posterior_clube2 = None if jornada_anterior: jogo_anterior_clube1 = jornada_anterior.jor_jogos.filter("jog_clubes = ", self.jogo.jog_clube1).get() jogo_anterior_clube2 = jornada_anterior.jor_jogos.filter("jog_clubes = ", self.jogo.jog_clube2).get() if jornada_posterior: jogo_posterior_clube1 = jornada_posterior.jor_jogos.filter("jog_clubes = ", self.jogo.jog_clube1).get() jogo_posterior_clube2 = jornada_posterior.jor_jogos.filter("jog_clubes = ", self.jogo.jog_clube2).get() # jjjs for jjj_jogador in self.jogo.jog_jogadores: jogador = jjj_jogador.jjj_jogador clube = jjj_jogador.jjj_clube ctj = ClubeTemJogador.all().filter("ctj_jogador = ", jogador).filter("ctj_clube = ", clube).filter("ctj_epocas = ", self.jogo.jog_epoca.key()).get() numero = None try: numero = ctj.ctj_numero except: numero = jogador.jgd_numero props = { "jogador":jogador, "numero": numero, "golos": len(jjj_jogador.jjj_golos_minutos), "golos_videos": jjj_jogador.jjj_golos_link_videos, "golos_minutos": jjj_jogador.jjj_golos_minutos, "golos_tipos": jjj_jogador.jjj_golos_tipos, "amarelo": jjj_jogador.jjj_amarelo_minuto, "duplo_amarelo": jjj_jogador.jjj_duplo_amarelo_minuto, "vermelho": jjj_jogador.jjj_vermelho_minuto, "entrada": jjj_jogador.jjj_substituicao_entrada, "saida": jjj_jogador.jjj_substituicao_saida } if clube.key() == self.jogo.jog_clube1.key(): if props['entrada']: jogo_dados['jogadores_subst1'].append(props) else: if "Guarda-Redes" in jogador.jgd_posicao or "GR" in jogador.jgd_posicao : jogo_dados['guarda_redes1'] = props else: jogo_dados['jogadores_inicio1'].append(props) else: if props['entrada']: jogo_dados['jogadores_subst2'].append(props) else: if "Guarda-Redes" in jogador.jgd_posicao or "GR" in jogador.jgd_posicao : jogo_dados['guarda_redes2'] = props else: jogo_dados['jogadores_inicio2'].append(props) # vamos ordenar os jogadores por número na camisola jogo_dados['jogadores_inicio1'] = sorted(jogo_dados['jogadores_inicio1'], cmp=lambda x,y: cmp(x['numero'], y['numero'])) jogo_dados['jogadores_inicio2'] = sorted(jogo_dados['jogadores_inicio2'], cmp=lambda x,y: cmp(x['numero'], y['numero'])) jogo_dados['jogadores_subst1'] = sorted(jogo_dados['jogadores_subst1'], cmp=lambda x,y: cmp(x['numero'], y['numero'])) jogo_dados['jogadores_subst2'] = sorted(jogo_dados['jogadores_subst2'], cmp=lambda x,y: cmp(x['numero'], y['numero'])) icc_clube1 = 0.0 icc_clube2 = 0.0 jogo_dados["golos_virtuais_clube1"] = self.jogo.jog_golos_virtuais_clube1 jogo_dados["golos_virtuais_clube2"] = self.jogo.jog_golos_virtuais_clube2 if not self.jogo.jog_clube_beneficiado and not self.jogo.jog_clube_prejudicado: jogo_dados["icc_clube1"] = self.jogo.jog_icc jogo_dados["icc_clube2"] = self.jogo.jog_icc if self.jogo.jog_clube_beneficiado and self.jogo.jog_clube_beneficiado.key() == self.jogo.jog_clube1.key(): jogo_dados["icc_clube1"] = self.jogo.jog_icc jogo_dados["icc_clube2"] = -1 * self.jogo.jog_icc if self.jogo.jog_clube_beneficiado and self.jogo.jog_clube_beneficiado.key() == self.jogo.jog_clube2.key(): jogo_dados["icc_clube1"] = -1 * self.jogo.jog_icc jogo_dados["icc_clube2"] = self.jogo.jog_icc jogo_dados["ia"] = self.jogo.jog_influencia_arbitro lances = [] # vamos adicionar lances for lance in self.jogo.jog_lances.order("lan_numero"): prop = {"lance": lance, "comentarios":lance.lan_comentadores.fetch(1000), "protagonistas": lance.lan_jogadores.fetch(1000), "tipo": Lance.translation_classe[lance.lan_classe] } lances.append(prop) # vamos adicionar detalhe icc lista_lances = self.jogo.jog_lances.fetch(1000) # acumulador_jornadas, como folte dos lances acu_jornadas = {} acumuladores = AcumuladorJornada.all().filter("acuj_jornada = ", self.jogo.jog_jornada).filter("acuj_versao = ", config.VERSAO_ACUMULADOR) for acu in acumuladores: acu_jornadas[acu.acuj_jornada.jor_nome] = acu.acuj_content detalhe_icc = DetalheICC() detalhe_icc.setLances(lista_lances) detalhe_icc.setAcumuladoresJornadas(acu_jornadas) resultados = detalhe_icc.gera() detalhe_icc_jogos = resultados["jogos"] # historial historial_jogos = Jogo.all().filter("jog_clubes = ", self.jogo.jog_clube1).filter("jog_clubes = ", self.jogo.jog_clube2).order("-jog_data").fetch(1000) return { "jogos":jogo_dados, "lances":lances, "historial_jogos":historial_jogos, "jornada_anterior":jornada_anterior, "jornada_posterior":jornada_posterior, "jogo_anterior_clube1":jogo_anterior_clube1, "jogo_anterior_clube2":jogo_anterior_clube2, "jogo_posterior_clube1":jogo_posterior_clube1, "jogo_posterior_clube2":jogo_posterior_clube2, "detalhe_icc_jogos":detalhe_icc_jogos }