Esempio n. 1
0
	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}
Esempio n. 3
0
	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
		}