Contient divers scripts utilitaires que j'utilise pour faciliter les tournois Challonge (spécifiquement pour Super Smash Bros. Melee).
Tous les exemples sont supposés être exécutés à partir d'une version téléchargée de ce référentiel.
# 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=googlemtvCes scripts utilisent Python 3 et sont incompatibles avec Python 2. Si vous rencontrez des problèmes en train de mettre en place ceci, n'hésitez pas à ouvrir un nouveau problème ici.
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
Modifiez votre copie locale de Challonge.ini avec votre nom d'utilisateur Challonge et votre clé API.
Exécutez le script que vous souhaitez essayer!
python3 <script_to_run>.py
garpr_seeds_challonge.py : graines un tournoi basé sur le classement GAR PR.
Tous les noms non reconnus seront ensemencés en dernier lieu (dans l'ordre de leur apparence d'origine dans la liste de semis). L'affaire est ignorée dans les noms.
$ python3 garpr_seeds_challonge.py 32w50dxc
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
Vous pouvez modifier la région à l'aide du drapeau --region .
$ python3 garpr_seeds_challonge.py 32w50dxc --region=googlemtv
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
Frappeurs:
--region=norcal : la région étant utilisée pour obtenir des classements GAR PR. Par défaut: norcal--print_only=False : définissez ceci sur True si vous voulez juste imprimer les nouvelles graines sans les engager au tournoi. Ceci est utile pour les tests avant de réengrammer votre tournoi. Par défaut: False--shuffle=False : définissez ceci sur True si vous souhaitez mélanger les graines par la suite tout en préservant le placement projeté de chaque participant. Cela aide à introduire un peu de variance dans le support. Par défaut: False--config_file=challonge.ini : le fichier de configuration pour lire vos informations d'identification Challonge. Ceci est utile pour réduire le risque de commettre accidentellement vos informations d'identification au contrôle de la source. Par défaut: challonge.ini garpr_seeds.py : obtient des graines sans utiliser l'API Challonge.
Utile pour tester le classement sans tournoi réel.
$ python3 garpr_seeds.py "Eden, Bryan, Non-gaR PR Person, Admiral"
[3, 2, 4, 1]
shuffle_seeds_challonge.py : mélange les graines dans un tournoi Challonge.
Ces fonctions vous aident à mélanger un support tout en préservant le placement prévu de chaque participant à la fin du tournoi. Cela aide à randomiser les tournois tout en gardant les choses équilibrées, par rapport aux «graines de shuffle» de Challonge, qui randomisent tout.
$ python3 shuffle_seeds_challonge.py zcmvlkxm
Seeds shuffled: http://challonge.com/zcmvlkxm/participants
Met automatiquement à jour l'ensemencement de tous les participants en fonction d'une commande de shuffle générée.
Frappeurs:
--config_file=challonge.ini : le fichier de configuration pour lire vos informations d'identification Challonge. Ceci est utile pour réduire le risque de commettre accidentellement vos informations d'identification au contrôle de la source. Par défaut: challonge.ini shuffle_seeds.py : mélange les graines sans utiliser l'API Challonge.
Ceci est utile lorsque vous n'avez pas accès à une connexion Internet ou lorsque vous souhaitez simplement tester la randomisation.
$ python3 shuffle_seeds.py 9
[1, 2, 3, 4, 6, 5, 8, 7, 9]
Renvoie l'ordre de semis nouvellement mélangé pour un tournoi avec un nombre donné de participants. Chaque nombre indique où la graine correspondante doit être répertoriée.
$ python3 shuffle_seeds.py "Neal, Bryan, Paragon, gaR, Admiral Lightning Bolt, Eden"
['Neal', 'Bryan', 'Paragon', 'gaR', 'Eden', 'Admiral Lightning Bolt']
Renvoie l'ordre nouvellement mélangé des participants à partir d'une liste de noms de participants. Les participants doivent être commandés à la 1ère graine pour la dernière graine. Les espaces de tête et de traîne dans les noms des participants sont dépouillés.
create_amateur_bracket.py : crée automatiquement un tournoi amateur à partir d'un tournoi Challonge existant.
Un tournoi amateur emmène des gens qui placent en dessous d'un certain seuil et accueillent un tournoi séparé pour eux après le tournoi principal. Cela aide les gens à faire plus de pratique et à s'amuser, surtout dans un jeu avec une courbe d'apprentissage broyant l'âme comme la mêlée.
$ python3 create_amateur_bracket.py mtvmelee72
Examine http://challonge.com/mtvmelee72 et propose de créer un support amateur en utilisant les personnes éliminées dans les rounds 1 et 2 du perdant.
L'outil obtiendra votre approbation avant qu'il ne crée quoi que ce soit, et il ne fera rien si un support amateur existe déjà. Il ne modifiera pas les données de votre tournoi existantes.
Exemples de séances avec cet outil:
Frappeurs:
--use_double_elimination=True : Si le support amateur doit utiliser une double élimination ou une seule élimination. Par défaut: True--randomize_seeds=False : si le support amateur doit randomiser complètement les graines ou utiliser l'ensemencement du support principal pour les comprendre. Par défaut: False--losers_round_cutoff=2 : La ronde du perdant après quoi les personnes éliminées ne se qualifient plus pour le support amateur. Une valeur de 2 signifie que les rounds 1 et 2 du perdant sont inclus, mais pas le tour 3 du perdant. Par défaut: 2--associate_challonge_accounts=False : si les comptes Challonge des utilisateurs doivent être associés à leurs entrées dans les supports amateurs. Ceci est utile pour les aider à suivre tous les tournois dans lesquels ils ont entré, mais cela fait également que le support amateur leur envoie un e-mail, alors utilisez de manière responsable lors de la génération de supports amateurs. L'outil vous fera savoir si leur compte sera envoyé par e-mail. Par défaut: False--config_file="challonge.ini" : le fichier de configuration pour lire votre clé API Challonge et votre nom d'utilisateur. Par défaut: "challonge.ini"par exemple
$ python3 create_amateur_bracket.py mtvmelee72
--config_file=akbiggs_challonge.ini
--use_double_elimination=False
parse_challonge_config.py : outil de développement pour obtenir des informations d'identification Challonge à partir d'un fichier de configuration.
La clé de l'API Challonge est quelque chose que vous voulez garder secret. J'ai configuré cet outil afin que vous puissiez facilement analyser vos informations Challonge à partir d'un fichier de configuration qui peut être ignoré à partir de votre récompense GIT au lieu de le codage en dur dans votre code.
Voir Challonge.ini pour un exemple de fichier de configuration avec des instructions.
$ python3 parse_challonge_config.py my_challonge.ini
{ user: 'blah', api_key: 'not telling' }
Avant d'exécuter les tests, vous devrez initialiser les chauves-souris:
git submodule update --init --recursive
Ensuite, exécutez simplement test.sh pour exécuter tous les tests unitaires:
./test.sh