This commit introduces a new key, `health-check.whitelisted-chars` for repo.toml. It allows TAs to configure repo-wide allowed non ASCII chars for the repo-health-checker binary. It results in a new command line switch, `-whitelisted-chars=X,Y,Z`, in the generated task.json. Co-Authored-By: GitHub Copilot <noreply@microsoft.com> <details> <summary>Copilot Prompt</summary> <br> This repository contains a Python app that does conversion from TOML config files to a complex, multistage JSON config file for an online judge system. For example, under `tests/convert/full`, input are the two TOML files `repo.toml` and `task.toml`, output is one JSON file `task,json`. Now, I want the repo-specific config (**repo.toml**) to accept an extra dotted key, "health-check.whitelisted-chars". This key shall accept an array of UTF-8 non-ASCII characters. To do so, I want you to - Model. Under `joj3_config_generator/models/repo.py`, add an extra field *whitelisted_chars* to class *HealthCheck*, identified by both "whitelisted-chars" and "whitelisted_chars"; - Transforming. Under `joj3_config_generator/transforers/repo.py`, translate the field to an additional command line switch `-whitelisted-chars`, comma-separated. - Other files you deem necessary, based on your understanding of this repo. IMPORTANT. Before you start, explore this repo to under the file structure and file-function relations. This repo uses the PDM package manager. After you finish your work, test your work appropriately. You should create new testcases under `tests/`. - Details: Read the output `task.json` after running the test, to verify whether the command line switch was added to the *Health Check* `stage` or not. </details> Reviewed-on: https://focs.ji.sjtu.edu.cn/git/JOJ/JOJ3-config-generator/pulls/29 Reviewed-by: 李衍志523370910113 <jon-lee@sjtu.edu.cn> Reviewed-by: 张泊明518370910136 <bomingzh@sjtu.edu.cn> Co-authored-by: Mack Wang <mac-wang@outlook.com> Co-committed-by: Mack Wang <mac-wang@outlook.com>
25 lines
1.2 KiB
TOML
25 lines
1.2 KiB
TOML
sandbox-token = "" # sandbox token
|
|
|
|
health-check.score = 0 # score for health check stage
|
|
health-check.max-size = "10m" # max size of the repository
|
|
health-check.whitelisted-chars = "あいうえお" # allowed non-ASCII characters in healthcheck stage
|
|
health-check.immutable-path = "immutable" # path for immutable files, relative to the path of repo.toml
|
|
health-check.required-files = ["README.md", "Changelog.md"] # required files name, case insensitive
|
|
|
|
issue.label.name = "Kind/Testing" # label for issues
|
|
issue.label.color = "#795548" # color for the label
|
|
issue.label.exclusive = false # whether the label is exclusive
|
|
issue.show-submitter = true # whether to show submitter in the issue title
|
|
|
|
|
|
# fields below can be overridden by task.toml
|
|
max-total-score = 100 # maximum total score for the task
|
|
# submission count limit groups
|
|
# explanation of the following config:
|
|
# in last 1 hour, total submission <= 50 times
|
|
# in last 24 hours, submission includes group "joj" <= 1000 times
|
|
# in last 2 hours, submission includes group "run" <= 100 times
|
|
groups.name = ["", "joj", "run"] # names of the groups
|
|
groups.max-count = [50, 1000, 100] # maximum submission count for each group
|
|
groups.time-period-hour = [1, 24, 2] # time period in hour for each group
|