Contém vários scripts de utilidade que eu uso para facilitar os torneios da Challonge (especificamente para o Super Smash Bros. Melee).
Presume -se que todos os exemplos sejam executados a partir de uma versão baixada deste repositório.
# After creating a local tourney at https://challonge.com/mtvmelee77,
# I want to seed participants based on their Google MTV gaR PR rankings, and shuffle
# the bracket a bit while preserving each participant's projected placement.
python3 garpr_seeds_challonge.py mtvmelee77 --shuffle --region=googlemtv
# Then later on in the local, after loser's round 2 has finished, I want
# to create an amateur bracket automatically, so I don't have to spend time
# manually entering in each participant.
python3 create_amateur_bracket.py mtvmelee77
# Once that amateur bracket is created, it's available at
# https://challonge.com/mtvmelee77_amateur. The amateur bracket will use the
# same seedings as the original bracket by default, but I want to vary up the
# matches, so I run shuffled gaR PR seeds on the bracket again.
python3 garpr_seeds_challonge.py mtvmelee77_amateur --shuffle --region=googlemtvEsses scripts usam o Python 3 e são incompatíveis com o Python 2. Se você tiver algum problema para configurar isso, fique à vontade para abrir um novo problema aqui.
git clone https://github.com/akbiggs/challonge-tools
cd challonge-tools
python3 -m venv challonge_tools_env
source challonge_tools_env/bin/activate
pip install -r requirements.txt
Edite sua cópia local do Challonge.ini com o nome de usuário e a chave da API Challonge.
Execute o script que deseja experimentar!
python3 <script_to_run>.py
garpr_seeds_challonge.py : Sementes de um torneio com base nos rankings GAR PR.
Quaisquer nomes não reconhecidos serão semeados no último lugar (em ordem de sua aparência original na lista de semeadura). O caso é ignorado em nomes.
$ python3 garpr_seeds_challonge.py 32w50dxc
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
Você pode alterar a região usando o sinalizador --region .
$ python3 garpr_seeds_challonge.py 32w50dxc --region=googlemtv
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
Bandeiras:
--region=norcal : a região sendo usada para obter as classificações GAR PR. Padrão: norcal--print_only=False : defina isso como True se você quiser apenas imprimir as novas sementes sem comprometi-las no torneio. Isso é útil para testar antes de você revisar seu torneio. Padrão: False--shuffle=False : defina isso como True se você quiser embaralhar as sementes depois, enquanto ainda preservando o posicionamento projetado de cada participante. Isso ajuda a introduzir um pouco de variação no suporte. Padrão: False--config_file=challonge.ini : o arquivo de configuração para ler suas credenciais de chalonge. Isso é útil para reduzir o risco de cometer acidentalmente suas credenciais com o controle de origem. Padrão: challonge.ini garpr_seeds.py : Obtém sementes sem usar a API Challonge.
Útil para testar o ranking sem um torneio real.
$ python3 garpr_seeds.py "Eden, Bryan, Non-gaR PR Person, Admiral"
[3, 2, 4, 1]
shuffle_seeds_challonge.py : shuffles sementes em um torneio Challonge.
Essas funções ajudam você a embaralhar um suporte enquanto preservam a colocação projetada de cada participante no final do torneio. Isso ajuda a randomizar torneios, mantendo as coisas equilibradas, em comparação com as "sementes de Shuffle" de Challonge, o que apenas randomiza tudo.
$ python3 shuffle_seeds_challonge.py zcmvlkxm
Seeds shuffled: http://challonge.com/zcmvlkxm/participants
Atualiza automaticamente a semeadura de todos os participantes com base em um pedido de shuffle gerado.
Bandeiras:
--config_file=challonge.ini : o arquivo de configuração para ler suas credenciais de chalonge. Isso é útil para reduzir o risco de cometer acidentalmente suas credenciais com o controle de origem. Padrão: challonge.ini shuffle_seeds.py : shuffles semear as sementes sem usar a API Challonge.
Isso é útil quando você não tem acesso a uma conexão com a Internet ou quando deseja apenas testar a randomização.
$ python3 shuffle_seeds.py 9
[1, 2, 3, 4, 6, 5, 8, 7, 9]
Retorna a ordem de semeadura recém -embaralhada para um torneio com um determinado número de participantes. Cada número indica onde a semente correspondente deve ser listada.
$ python3 shuffle_seeds.py "Neal, Bryan, Paragon, gaR, Admiral Lightning Bolt, Eden"
['Neal', 'Bryan', 'Paragon', 'gaR', 'Eden', 'Admiral Lightning Bolt']
Retorna a ordem recém -embaralhada dos participantes de uma lista de nomes dos participantes. Os participantes devem ser encomendados da 1ª semente para a última semente. Os espaços líderes e à direita nos nomes dos participantes são despojados.
create_amateur_bracket.py : cria um torneio amador automaticamente a partir de um torneio de Challonge existente.
Um torneio amador leva as pessoas que colocam abaixo de um certo limiar e organiza um torneio separado para elas após o torneio principal. Isso ajuda as pessoas a fazer mais prática e a se divertir mais, especialmente em um jogo com uma curva de aprendizado esmagadora da alma como a corpo a corpo.
$ python3 create_amateur_bracket.py mtvmelee72
Examina http://challonge.com/mtvmelee72 e oferece para criar um suporte amador usando as pessoas eliminadas nas rodadas 1 e 2 do perdedor.
A ferramenta obterá sua aprovação antes de criar qualquer coisa, e não fará nada se já existir um suporte amador. Não modificará os dados do seu torneio existente.
Exemplo de sessões com esta ferramenta:
Bandeiras:
--use_double_elimination=True : se o suporte amador deve usar eliminação dupla ou eliminação única. Padrão: True--randomize_seeds=False : se o suporte amador deve aleatorizar completamente as sementes ou usar a semeadura do suporte principal para descobrir. Padrão: False--losers_round_cutoff=2 : a rodada do perdedor, após o qual as pessoas que são eliminadas não se qualificam mais para o suporte amador. Um valor de 2 significa que as rodadas 1 e 2 dos perdedores estão incluídas, mas não a Rodada 3 do perdedor. Padrão: 2--associate_challonge_accounts=False : se as contas dos usuários devem estar associadas às suas entradas nos colchetes amadores. Isso é útil para ajudá -los a rastrear todos os torneios que eles entraram, mas também faz com que o suporte amador envie um email para eles; portanto, use com responsabilidade ao gerar suportes amadores. A ferramenta informará se a conta deles será enviada por e -mail. Padrão: False--config_file="challonge.ini" : o arquivo de configuração para ler sua chave da API Challonge e nome de usuário. Padrão: "challonge.ini"por exemplo
$ python3 create_amateur_bracket.py mtvmelee72
--config_file=akbiggs_challonge.ini
--use_double_elimination=False
parse_challonge_config.py : Ferramenta de desenvolvedor para obter credenciais do Challonge de um arquivo de configuração.
A chave da API Challonge é algo que você deseja manter em segredo. Configurei esta ferramenta para que você possa analisar facilmente suas informações de Challonge a partir de um arquivo de configuração que pode ser ignorado do seu repo Git em vez de codificá -lo em seu código.
Consulte Challonge.ini para um exemplo de arquivo de configuração com instruções.
$ python3 parse_challonge_config.py my_challonge.ini
{ user: 'blah', api_key: 'not telling' }
Antes de executar os testes, você precisará inicializar os morcegos:
git submodule update --init --recursive
Depois, basta executar test.sh para executar todos os testes de unidade:
./test.sh