Содержит различные коммунальные сценарии, которые я использую для облегчения турниров Callonge Callonge (особенно для Super Smash Bros. Melee).
Предполагается, что все примеры запускаются из загруженной версии этого репозитория.
# 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Эти сценарии используют Python 3 и несовместимы с Python 2. Если вы столкнетесь с любыми проблемами, настроившими это, не стесняйтесь открывать новую проблему здесь.
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
Отредактируйте свою местную копию Challonge.ini с вашим именем пользователя Challonge и ключом API.
Запустите сценарий, который вы хотите попробовать!
python3 <script_to_run>.py
garpr_seeds_challonge.py : SEEDS A Tourney на основе рейтинга GAR PR.
Любые непризнанные названия будут посеяны на последнем месте (в порядке их первоначального появления в списке посева). Случай игнорируется по именам.
$ python3 garpr_seeds_challonge.py 32w50dxc
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
Вы можете изменить регион, используя флаг --region .
$ python3 garpr_seeds_challonge.py 32w50dxc --region=googlemtv
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
Флаги:
--region=norcal : регион, используемый для получения рейтинга Gar PR. По умолчанию: norcal--print_only=False : установите это на True , если вы просто хотите распечатать новые семена, не совершая их турнира. Это полезно для тестирования до того, как вы зарегистрируете свой турнир. По умолчанию: False--shuffle=False : установите это в True , если вы хотите перетасовать семена впоследствии, сохраняя при этом прогнозируемое размещение каждого участника. Это помогает ввести небольшую дисперсию в кронштейн. По умолчанию: False--config_file=challonge.ini : файл конфигурации, чтобы прочитать ваши учетные данные Challonge от. Это полезно для снижения риска случайного совершения ваших учетных данных для контроля источников. По умолчанию: challonge.ini garpr_seeds.py : получает семена без использования API Challonge.
Полезно для тестирования рейтинга без реального турнира.
$ python3 garpr_seeds.py "Eden, Bryan, Non-gaR PR Person, Admiral"
[3, 2, 4, 1]
shuffle_seeds_challonge.py : перетасовывает семена в турнире Challonge.
Эти функции помогают вам перетасовать кронштейн, сохраняя при этом прогнозируемое размещение каждого участника в конце турнира. Это помогает рандомизировать турниры, сохраняя при этом сбалансированные вещи, по сравнению с «Семенами» Challonge, что просто рандомизирует все.
$ python3 shuffle_seeds_challonge.py zcmvlkxm
Seeds shuffled: http://challonge.com/zcmvlkxm/participants
Автоматически обновляет посев всех участников на основе сгенерированного порядка перетасовки.
Флаги:
--config_file=challonge.ini : файл конфигурации, чтобы прочитать ваши учетные данные Challonge от. Это полезно для снижения риска случайного совершения ваших учетных данных для контроля источников. По умолчанию: challonge.ini shuffle_seeds.py : перетасовывает семена без использования API Challonge.
Это полезно, если у вас нет доступа к подключению к Интернету или когда вы просто хотите проверить рандомизацию.
$ python3 shuffle_seeds.py 9
[1, 2, 3, 4, 6, 5, 8, 7, 9]
Возвращает недавно перетасованный заказ на посев для турнира с данным количеством участников. Каждое число указывает, где должно быть указано соответствующее семя.
$ python3 shuffle_seeds.py "Neal, Bryan, Paragon, gaR, Admiral Lightning Bolt, Eden"
['Neal', 'Bryan', 'Paragon', 'gaR', 'Eden', 'Admiral Lightning Bolt']
Возвращает недавно перетасованный орден участников из списка имен участников. Участники должны быть заказаны с 1 -го семян до последнего семени. Ведущие и следственные пространства в именах участников разбросаны.
create_amateur_bracket.py : автоматически создает любительский турнир из существующего турнира Challonge.
В любительском турнире люди, которые размещают под определенным порогом и проводят для них отдельный турнир после основного турнира. Это помогает людям получить больше практики и получать больше удовольствия, особенно в игре с душевной кривой обучения, такой как ближний бой.
$ python3 create_amateur_bracket.py mtvmelee72
Изучает http://challonge.com/mtvmelee72 и предлагает создать любительский кронштейн с использованием людей, устраненных в раундах 1 и 2 неудачника.
Инструмент получит ваше одобрение до того, как он что -либо создаст, и он ничего не сделает, если любительский кронштейн уже существует. Это не изменит данные вашего существующего турнира.
Примеры сеансов с этим инструментом:
Флаги:
--use_double_elimination=True : должен ли любительский кронштейн использовать двойную элиминацию или одноэлеменцию. По умолчанию: True--randomize_seeds=False : должен ли любительский кронштейн полностью рандомизировать семена или использовать посев из основного кронштейна, чтобы выяснить их. По умолчанию: False--losers_round_cutoff=2 : раунд проигравшего, после чего люди, которые устранены, больше не имеют права на любительский кронштейн. Значение 2 означает, что раунды 1 и 2 проигравших включены, но не раунд 3. По умолчанию: 2: 2--associate_challonge_accounts=False : должны ли учетные записи пользователей Challonge быть связаны с их записями в любительских кронштейнах. Это полезно, чтобы помочь им отслеживать все турниры, которые они ввели, но это также заставляет любительский кронштейн отправлять им электронное письмо, поэтому используйте ответственно при создании любительских кронштейнов. Инструмент сообщит вам, будет ли их учетная запись по электронной почте. По умолчанию: False--config_file="challonge.ini" : файл конфигурации, чтобы прочитать ваш ключ API Challonge и имя пользователя. По умолчанию: "challonge.ini"например
$ python3 create_amateur_bracket.py mtvmelee72
--config_file=akbiggs_challonge.ini
--use_double_elimination=False
parse_challonge_config.py : инструмент разработчика для получения учетных данных Challonge из файла конфигурации.
Ключ API Challonge - это то, что вы хотите сохранить в секрете. Я настроил этот инструмент, чтобы вы могли легко проанализировать информацию Challonge из файла конфигурации, который можно игнорировать из вашего репозиции GIT вместо жесткой кодирования в код.
См. Challonge.ini для примера файла конфигурации с инструкциями.
$ python3 parse_challonge_config.py my_challonge.ini
{ user: 'blah', api_key: 'not telling' }
Прежде чем запустить тесты, вам нужно будет инициализировать летучие мыши:
git submodule update --init --recursive
После этого просто запустите test.sh чтобы запустить все модульные тесты:
./test.sh