Enthält verschiedene Utility -Skripte, die ich benutze, um das Ausführen von Challonge -Turnieren zu vereinfachen (speziell für Super Smash Bros. Melee).
Es wird angenommen, dass alle Beispiele aus einer heruntergeladenen Version dieses Repositorys ausgeführt werden.
# 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=googlemtv
Diese Skripte verwenden Python 3 und sind mit Python nicht kompatibel.
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
Bearbeiten Sie Ihre lokale Kopie von Challonge.ini mit Ihrem Challonge -Benutzernamen und Ihrem API -Schlüssel.
Führen Sie das Skript aus, das Sie ausprobieren möchten!
python3 <script_to_run>.py
garpr_seeds_challonge.py
: Saatgut ein Turnier, das auf GAR PR -Ranglisten basiert.
Alle nicht anerkannten Namen werden am letzten Ort ausgesät (in der Reihenfolge ihres ursprünglichen Erscheinungsbilds in der Seeding-Liste). Fall wird in Namen ignoriert.
$ python3 garpr_seeds_challonge.py 32w50dxc
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
Sie können die Region mit der Flagge --region
-Flagge ändern.
$ python3 garpr_seeds_challonge.py 32w50dxc --region=googlemtv
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
Flaggen:
--region=norcal
: Die Region, die verwendet wird, um GAR PR-Ranglisten zu erhalten. Standard: norcal
--print_only=False
: Setzen Sie dies auf True
wenn Sie nur die neuen Samen ausdrucken möchten, ohne sie für das Turnier zu verpflichten. Dies ist nützlich für das Testen, bevor Sie Ihr Turnier neu seiten. Standard: False
--shuffle=False
: Setzen Sie dies auf True
, wenn Sie die Samen danach mischen möchten, während Sie die projizierte Platzierung jedes Teilnehmers erhalten. Dies hilft, ein wenig Abweichung in die Klammer einzuführen. Standard: False
--config_file=challonge.ini
: Die Konfigurationsdatei zum Lesen Ihrer Challonge-Anmeldeinformationen von. Dies ist nützlich, um das Risiko zu verringern, dass Sie Ihre Anmeldeinformationen versehentlich für die Quellenkontrolle begehen. Standard: challonge.ini
garpr_seeds.py
: bekommt Samen, ohne die Challonge -API zu verwenden.
Nützlich, um die Rangliste ohne tatsächliches Turnier zu testen.
$ python3 garpr_seeds.py "Eden, Bryan, Non-gaR PR Person, Admiral"
[3, 2, 4, 1]
shuffle_seeds_challonge.py
: Mischung Samen in einem Challonge -Turnier.
Diese Funktionen helfen Ihnen dabei, eine Klammer zu mischen und gleichzeitig die prognostizierte Platzierung jedes Teilnehmers am Ende des Turniers zu erhalten. Dies hilft, Turniere zu randomisieren und gleichzeitig die Dinge im Vergleich zu Challonges "Shuffle Seeds" im Gleichgewicht zu halten, was nur alles randomisiert.
$ python3 shuffle_seeds_challonge.py zcmvlkxm
Seeds shuffled: http://challonge.com/zcmvlkxm/participants
Aktualisiert automatisch die Aussaat aller Teilnehmer auf der Grundlage einer generierten Shuffle -Bestellung.
Flaggen:
--config_file=challonge.ini
: Die Konfigurationsdatei zum Lesen Ihrer Challonge-Anmeldeinformationen von. Dies ist nützlich, um das Risiko zu verringern, dass Sie Ihre Anmeldeinformationen versehentlich für die Quellenkontrolle begehen. Standard: challonge.ini
shuffle_seeds.py
: Mischung Samen, ohne die Challonge -API zu verwenden.
Dies ist nützlich, wenn Sie keinen Zugriff auf eine Internetverbindung haben oder nur die Randomisierung testen möchten.
$ python3 shuffle_seeds.py 9
[1, 2, 3, 4, 6, 5, 8, 7, 9]
Gibt den neu gemischten Aussaatauftrag für ein Turnier mit einer bestimmten Anzahl von Teilnehmern zurück. Jede Zahl gibt an, wo der entsprechende Samen aufgeführt sein soll.
$ python3 shuffle_seeds.py "Neal, Bryan, Paragon, gaR, Admiral Lightning Bolt, Eden"
['Neal', 'Bryan', 'Paragon', 'gaR', 'Eden', 'Admiral Lightning Bolt']
Gibt die neu gemischte Reihenfolge der Teilnehmer aus einer Liste von Teilnehmernamen zurück. Die Teilnehmer sollten vom 1. Samen zum letzten Samen bestellt werden. Führende und nachfolgende Räume in den Namen der Teilnehmer werden abgezogen.
create_amateur_bracket.py
: Erstellt automatisch ein Amateur -Turnier aus einem vorhandenen Challonge -Turnier.
Ein Amateur -Turnier führt Menschen, die nach dem Hauptturnier ein separates Turnier für sie unterbringen. Dies hilft den Menschen, mehr Übung zu bekommen und mehr Spaß zu haben, insbesondere in einem Spiel mit einer Seelen-Mischungs-Lernkurve wie Nahkampf.
$ python3 create_amateur_bracket.py mtvmelee72
Untersucht http://challonge.com/mtvMelee72 und bietet an, eine Amateurhalterung mit den Personen zu erstellen, die in den Runden 1 und 2 der Verlierer beseitigt wurden.
Das Tool erhält Ihre Zustimmung, bevor es etwas erstellt, und es wird nichts tun, wenn bereits eine Amateur -Klammer existiert. Es wird die Daten Ihres vorhandenen Turniers nicht ändern.
Beispielsitzungen mit diesem Tool:
Flaggen:
--use_double_elimination=True
: Ob die Amateurhalterung doppelte Eliminierung oder Single-Eliminierung verwenden sollte. Standard: True
--randomize_seeds=False
: Ob die Amateurhalterung die Samen vollständig randomisieren oder die Aussaat aus der Haupthalterung verwenden sollte, um sie herauszufinden. Standard: False
--losers_round_cutoff=2
: Die Runde des Verlierers, nach der Menschen, die beseitigt werden, nicht mehr für die Amateur-Klammer qualifiziert sind. Ein Wert von 2 bedeutet, dass die 2
von Verlierer 1 und 2 enthalten sind, jedoch nicht die Runde von Verlierer.--associate_challonge_accounts=False
: Ob die Challonge-Konten der Benutzer mit ihren Einträgen in den Amateurklammern zugeordnet werden sollten. Dies ist nützlich, um alle Turniere zu verfolgen, die sie eingegeben haben, aber es lässt die Amateur -Klammer auch eine E -Mail an sie senden. Verwenden Sie daher verantwortungsbewusst, wenn sie Amateur -Klammern generieren. Mit dem Tool werden Sie mitgeteilt, ob sein Konto per E -Mail gesendet wird. Standard: False
--config_file="challonge.ini"
: Die Konfigurationsdatei zum Lesen Ihres Challonge-API-Schlüssels und des Benutzernamens von. Standard: "challonge.ini"
z.B
$ python3 create_amateur_bracket.py mtvmelee72
--config_file=akbiggs_challonge.ini
--use_double_elimination=False
parse_challonge_config.py
: Entwickler -Tool zum Erhalten von Challonge -Anmeldeinformationen aus einer Konfigurationsdatei.
Der Challonge -API -Schlüssel ist etwas, das Sie geheim halten möchten. Ich habe dieses Tool eingerichtet, damit Sie Ihre Challonge -Informationen einfach von einer Konfigurationsdatei analysieren können, die von Ihrem Git -Repo ignoriert werden kann, anstatt sie in Ihren Code zu streichen.
Eine Beispielkonfigurationsdatei mit Anweisungen finden Sie unter Challonge.ini.
$ python3 parse_challonge_config.py my_challonge.ini
{ user: 'blah', api_key: 'not telling' }
Bevor Sie die Tests durchführen, müssen Sie Fledermäuse initialisieren:
git submodule update --init --recursive
Danach reiten Sie einfach test.sh
aus, um alle Unit -Tests auszuführen:
./test.sh