def setUpTestData(cls): super(GerarJogadoresTorneioChallongeTestCase, cls).setUpTestData() criar_jogadores_teste(['teets']) cls.torneio = criar_torneio_teste() logar_challonge() cls.dados_jogadores = buscar_jogadores_challonge('atevalhalla2')
def setUpTestData(cls): super(GerarPartidasChallongeTestCase, cls).setUpTestData() criar_jogadores_teste(['teets']) cls.torneio = criar_torneio_teste() logar_challonge() jogadores, times = gerar_jogadores_challonge(buscar_jogadores_challonge('atevalhalla2'), cls.torneio) for time in times: time.save() for jogador in jogadores: jogador.save() cls.dados_partidas = buscar_partidas_challonge('atevalhalla2')
def setUpTestData(cls): super(BuscarJogadoresTorneioChallongeTestCase, cls).setUpTestData() logar_challonge()
def setUpTestData(cls): super(GerarTorneioChallongeTestCase, cls).setUpTestData() logar_challonge() cls.dados_torneio = buscar_torneio_challonge('atevalhalla2')
def setUpTestData(cls): super(BuscarPartidasChallongeTestCase, cls).setUpTestData() logar_challonge()
def criar_torneio(request): """Cria um torneio vinculado ao Challonge""" # Precisa ser admin para gerar um torneio if not request.user.jogador.admin: raise PermissionDenied if request.POST: form_criar_torneio = CriarTorneioForm(request.POST) if form_criar_torneio.is_valid(): identificador_torneio = form_criar_torneio.cleaned_data[ 'identificador_torneio'] site = form_criar_torneio.cleaned_data['site'] delimitador_time = form_criar_torneio.cleaned_data[ 'delimitador_time'] if site == Torneio.SITE_CHALLONGE_ID: # Criar um torneio vinculado ao Challonge try: with transaction.atomic(): # Verificar se identificador é uma URL if Torneio.SITE_CHALLONGE_URL in identificador_torneio: identificador_torneio = identificador_torneio.split( '/')[-1] # Logar logar_challonge() # Buscar torneio dados_torneio = buscar_torneio_challonge( identificador_torneio) torneio = gerar_torneio_challonge(dados_torneio) torneio.adicionado_por = request.user.jogador torneio.save() # Buscar jogadores dados_jogadores = buscar_jogadores_challonge( identificador_torneio) jogadores, times = gerar_jogadores_challonge( dados_jogadores, torneio, delimitador_time) for time in times: time.save() for jogador in jogadores: if jogador.time: jogador.time_id = jogador.time.id jogador.save() # Buscar partidas dados_partidas = buscar_partidas_challonge( identificador_torneio) partidas, rounds, vitorias_por_ausencia = gerar_partidas_challonge( dados_partidas, torneio) for round_torneio in rounds: round_torneio.save() alterar_nome_rounds(torneio) for partida in partidas: partida.round_id = partida.round.id partida.save() for vitoria_por_ausencia in vitorias_por_ausencia: vitoria_por_ausencia.partida_id = vitoria_por_ausencia.partida.id vitoria_por_ausencia.save() vincular_automaticamente_jogadores_torneio_a_ladder( torneio) messages.success( request, Torneio.MENSAGEM_SUCESSO_CRIACAO_TORNEIO) return redirect( reverse('torneios:editar_torneio', kwargs={'torneio_id': torneio.id})) except Exception as e: messages.error(request, str(e)) else: raise ValueError(Torneio.MENSAGEM_ERRO_SITE_INVALIDO) else: for erro in form_criar_torneio.non_field_errors(): messages.error(request, erro) else: form_criar_torneio = CriarTorneioForm() return render( request, 'torneios/criar_torneio.html', { 'opcoes_site': Torneio.OPCOES_SITE, 'form_criar_torneio': form_criar_torneio })