Berisi berbagai skrip utilitas yang saya gunakan untuk membuat turnamen challonge berjalan lebih mudah (khususnya untuk Super Smash Bros. Melee).
Semua contoh diasumsikan dijalankan dari versi yang diunduh dari repositori ini.
# 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=googlemtvSkrip -skrip ini menggunakan Python 3, dan tidak sesuai dengan Python 2. Jika Anda mengalami masalah apa pun yang mengatur ini, jangan ragu untuk membuka masalah baru di sini.
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
Edit salinan lokal Anda Challonge.ini dengan nama pengguna dan kunci API Challonge Anda.
Jalankan skrip yang ingin Anda coba!
python3 <script_to_run>.py
garpr_seeds_challonge.py : Seeds turnamen berdasarkan peringkat GAR PR.
Setiap nama yang tidak dikenal akan diunggulkan di tempat terakhir (sesuai dengan penampilan aslinya dalam daftar penyemaian). Kasus diabaikan dalam nama.
$ python3 garpr_seeds_challonge.py 32w50dxc
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
Anda dapat mengubah wilayah menggunakan bendera --region .
$ python3 garpr_seeds_challonge.py 32w50dxc --region=googlemtv
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
Bendera:
--region=norcal : Wilayah yang digunakan untuk mendapatkan peringkat GAR PR. Default: norcal--print_only=False : Setel ini ke True jika Anda hanya ingin mencetak unggulan baru tanpa mengomentari turnamen. Ini berguna untuk pengujian sebelum Anda membangkitkan kembali turnamen Anda. Default: False--shuffle=False : Setel ini ke True jika Anda ingin mengocok benih setelah itu sambil tetap mempertahankan penempatan yang diproyeksikan setiap peserta. Ini membantu untuk memperkenalkan sedikit varian ke dalam braket. Default: False--config_file=challonge.ini : File konfigurasi untuk membaca kredensial challonge Anda dari. Ini berguna untuk mengurangi risiko secara tidak sengaja melakukan kredensial Anda terhadap kontrol sumber. Default: challonge.ini garpr_seeds.py : Mendapat benih tanpa menggunakan API Challonge.
Berguna untuk menguji peringkat tanpa turnamen yang sebenarnya.
$ python3 garpr_seeds.py "Eden, Bryan, Non-gaR PR Person, Admiral"
[3, 2, 4, 1]
shuffle_seeds_challonge.py : mengocok benih dalam turnamen challonge.
Fungsi -fungsi ini membantu Anda mengocok braket sambil tetap mempertahankan penempatan yang diproyeksikan dari masing -masing peserta di akhir turnamen. Ini membantu mengacak turnamen sambil tetap menjaga hal -hal seimbang, dibandingkan dengan "seed shuffle" Challonge, yang hanya mengacak segalanya.
$ python3 shuffle_seeds_challonge.py zcmvlkxm
Seeds shuffled: http://challonge.com/zcmvlkxm/participants
Secara otomatis memperbarui penyemaian semua peserta berdasarkan pesanan shuffle yang dihasilkan.
Bendera:
--config_file=challonge.ini : File konfigurasi untuk membaca kredensial challonge Anda dari. Ini berguna untuk mengurangi risiko secara tidak sengaja melakukan kredensial Anda terhadap kontrol sumber. Default: challonge.ini shuffle_seeds.py : Mengocok biji tanpa menggunakan API Challonge.
Ini berguna ketika Anda tidak memiliki akses ke koneksi internet, atau ketika Anda hanya ingin menguji pengacakan.
$ python3 shuffle_seeds.py 9
[1, 2, 3, 4, 6, 5, 8, 7, 9]
Mengembalikan pesanan penyemaian yang baru dikocok untuk turnamen dengan sejumlah peserta. Setiap angka menunjukkan di mana benih yang sesuai harus terdaftar.
$ python3 shuffle_seeds.py "Neal, Bryan, Paragon, gaR, Admiral Lightning Bolt, Eden"
['Neal', 'Bryan', 'Paragon', 'gaR', 'Eden', 'Admiral Lightning Bolt']
Mengembalikan urutan peserta yang baru dikocok dari daftar nama peserta. Peserta harus dipesan dari unggulan pertama hingga unggulan terakhir. Ruang terkemuka dan trailing dalam nama peserta dilucuti.
create_amateur_bracket.py : Membuat turnamen amatir secara otomatis dari turnamen challonge yang ada.
Turnamen amatir membawa orang -orang yang berada di bawah ambang batas tertentu dan menyelenggarakan turnamen terpisah untuk mereka setelah turnamen utama. Ini membantu orang mendapatkan lebih banyak latihan dan bersenang-senang, terutama dalam permainan dengan kurva belajar yang menghancurkan jiwa seperti jarak dekat.
$ python3 create_amateur_bracket.py mtvmelee72
Meneliti http://challonge.com/mtvmelee72 dan menawarkan untuk membuat braket amatir menggunakan orang -orang yang dieliminasi dalam putaran pecundang 1 dan 2.
Alat ini akan mendapatkan persetujuan Anda sebelum menciptakan apa pun, dan itu tidak akan melakukan apa pun jika braket amatir sudah ada. Itu tidak akan memodifikasi data turnamen Anda yang ada.
Sesi contoh dengan alat ini:
Bendera:
--use_double_elimination=True : Apakah braket amatir harus menggunakan eliminasi ganda atau eliminasi tunggal. Default: True--randomize_seeds=False : Apakah braket amatir harus sepenuhnya mengacak biji atau menggunakan penyemaian dari braket utama untuk mencari tahu. Default: False--losers_round_cutoff=2 : Babak pecundang setelah itu orang-orang yang dihilangkan tidak lagi memenuhi syarat untuk braket amatir. Nilai 2 berarti bahwa Loser's Rounds 1 dan 2 disertakan, tetapi bukan Babak Loser 3. Default: 2--associate_challonge_accounts=False : Apakah akun challonge pengguna harus dikaitkan dengan entri mereka di kurung amatir. Ini berguna untuk membantu mereka melacak semua turnamen yang telah mereka masukkan, tetapi juga membuat braket amatir mengirim email kepada mereka, jadi gunakan secara bertanggung jawab saat menghasilkan kurung amatir. Alat ini akan memberi tahu Anda jika akun mereka akan diemail. Default: False--config_file="challonge.ini" : File konfigurasi untuk membaca kunci dan nama pengguna Challonge Anda. Default: "challonge.ini"misalnya
$ python3 create_amateur_bracket.py mtvmelee72
--config_file=akbiggs_challonge.ini
--use_double_elimination=False
parse_challonge_config.py : alat pengembang untuk mendapatkan kredensial challonge dari file konfigurasi.
Kunci API Challonge adalah sesuatu yang ingin Anda sukai. Saya mengatur alat ini sehingga Anda dapat dengan mudah menguraikan info challonge Anda dari file konfigurasi yang dapat diabaikan dari repo git Anda alih -alih hardcoding ke dalam kode Anda.
Lihat Challonge.ini untuk contoh file konfigurasi dengan instruksi.
$ python3 parse_challonge_config.py my_challonge.ini
{ user: 'blah', api_key: 'not telling' }
Sebelum menjalankan tes, Anda perlu menginisialisasi kelelawar:
git submodule update --init --recursive
Setelah itu, cukup jalankan test.sh untuk menjalankan semua tes unit:
./test.sh