rbx.cp 0.18.0__tar.gz → 0.18.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/PKG-INFO +1 -1
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/pyproject.toml +1 -1
- rbx_cp-0.18.2/rbx/__version__.py +1 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/build_contest_statements.py +5 -3
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/environment.py +8 -1
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/package.py +9 -5
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/env.rbx.yml +1 -1
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/preset.rbx.yml +1 -1
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/problem.rbx.yml +7 -7
- rbx_cp-0.18.0/rbx/__version__.py +0 -1
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/LICENSE +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/README.md +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/annotations.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/autoenum.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/builder.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/cd.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/checkers.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/cli.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/code.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/compile.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/contest_package.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/contest_utils.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/main.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/schema.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/statements.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/creation.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/deferred.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/download.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/dump_schemas.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/extensions.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/fields.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/formatting.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/generators.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/git_utils.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/global_package.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/header.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/lang.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/lazy_importing_main.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/limits_info.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/linting.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/main.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/naming.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/boca/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/boca/boca_language_utils.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/boca/boca_outcome_utils.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/boca/extension.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/boca/packager.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/contest_main.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/importer.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/main.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/moj/packager.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/packager.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/pkg/packager.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/importer.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/packager.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/polygon_api.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/test.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/upload.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/xml_schema.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/presets/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/presets/fetch.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/presets/lock_schema.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/presets/schema.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/remote.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/retries.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/sanitizers/issue_stack.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/sanitizers/warning_stack.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/schema.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/setter_config.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/solutions.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/state.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/build_statements.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/builders.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/expander.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/joiners.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/latex.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/latex_jinja.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/schema.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/stats.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/stresses.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/stressing/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/stressing/finder_parser.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/stressing/generator_parser.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tasks.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testcase_extractors.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testcase_utils.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testcases/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testcases/main.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testing/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testing/testing_package.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testing/testing_preset.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testing/testing_shared.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/timing.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/debug_utils.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/main.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/manual_scrape.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/scrape.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/scraper.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/converter.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/main.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/captured_log.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/css/app.tcss +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/main.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/build.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/command.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/differ.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/error.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/rich_log_modal.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/run.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/run_explorer.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/run_test_explorer.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/selector.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/test_explorer.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/utils/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/utils/run_ui.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/diff_box.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/file_log.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/interaction_box.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/rich_log_box.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/test_output_box.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/two_sided_test_output_box.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/unit.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/validators.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/config.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/console.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/caching.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/debug_context.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/grading_context.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/cacher.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/digester.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/program.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/sandbox.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/sandboxes/__init__.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/sandboxes/stupid_sandbox.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/sandboxes/tee.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/storage.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/limits.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/profiling.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/steps.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/steps_with_caching.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/checkers/boilerplate.cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/checkers/noop.cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/default_config.json +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/default_setter_config.mac.yml +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/default_setter_config.yml +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/envs/default.rbx.yml +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/checker.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compare.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/c +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/cc +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/java +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/kt +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/py2 +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/py3 +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/c +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/cc +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/java +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/kt +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/py2 +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/py3 +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactor_compile.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactor_run.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/bkp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/c +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/cc +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/java +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/kt +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/py2 +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/py3 +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/safeexec.c +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/safeexec_compile.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/c/compile.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/c/prep.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/c/run.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/compare.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/cpp/compile.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/cpp/prep.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/cpp/run.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/interactor_prep.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/interactor_run.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/java/compile.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/java/prep.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/java/run.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py2/compile.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py2/prep.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py2/run.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py3/compile.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py3/prep.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py3/run.sh +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/.gitignore +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/contest.rbx.yml +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/contest.rbx.tex +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/info.rbx.tex +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/instructions.tex +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/logo.png +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/.gitignore +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/gens/gen.cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/manual_tests/samples/000.in +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/manual_tests/samples/001.in +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/rbx.h +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/sols/main.cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/sols/wa-overflow.cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/statement/statement.rbx.tex +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/testlib.h +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/testplan/random.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/testplan/random.txt +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/validator.cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/wcmp.cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/shared/contest_template.rbx.tex +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/shared/icpc.sty +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/shared/problem_template.rbx.tex +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/templates/rbx.h +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/templates/template.cpp +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/testing_utils.py +0 -0
- {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/utils.py +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = '0.18.2'
|
@@ -126,8 +126,6 @@ def get_problems_for_statement(
|
|
126
126
|
raise typer.Exit(1)
|
127
127
|
|
128
128
|
def matches(statement: Statement) -> bool:
|
129
|
-
if not requires_matching_statement:
|
130
|
-
return True
|
131
129
|
if contest_statement.match is None:
|
132
130
|
return statement.language == contest_statement.language
|
133
131
|
return statement.name == contest_statement.match
|
@@ -137,6 +135,8 @@ def get_problems_for_statement(
|
|
137
135
|
matching_statements = [
|
138
136
|
statement for statement in pkg.expanded_statements if matches(statement)
|
139
137
|
]
|
138
|
+
if not matching_statements and requires_matching_statement:
|
139
|
+
matching_statements = pkg.expanded_statements
|
140
140
|
if not matching_statements:
|
141
141
|
console.console.print(
|
142
142
|
f'[error]No statement found for language {contest_statement.language} in problem {problem.short_name}[/error]'
|
@@ -188,7 +188,9 @@ def _build_problem_statements(
|
|
188
188
|
custom_vars: Optional[Dict[str, Any]] = None,
|
189
189
|
) -> List[ExtractedProblem]:
|
190
190
|
console.console.print('Building problem-level statements...')
|
191
|
-
extracted_problems = get_problems_for_statement(
|
191
|
+
extracted_problems = get_problems_for_statement(
|
192
|
+
contest, statement, requires_matching_statement=True
|
193
|
+
)
|
192
194
|
res = []
|
193
195
|
contest_cwd_absolute = utils.abspath(pathlib.Path())
|
194
196
|
contest_assets = get_relative_assets(statement.path, statement.assets)
|
@@ -303,10 +303,17 @@ def get_language(name: str) -> EnvironmentLanguage:
|
|
303
303
|
|
304
304
|
|
305
305
|
@functools.cache
|
306
|
-
def
|
306
|
+
def get_language_by_extension_or_nil(extension: str) -> Optional[EnvironmentLanguage]:
|
307
307
|
for lang in get_environment().languages:
|
308
308
|
if lang.extension == extension:
|
309
309
|
return lang
|
310
|
+
return None
|
311
|
+
|
312
|
+
|
313
|
+
def get_language_by_extension(extension: str) -> EnvironmentLanguage:
|
314
|
+
lang = get_language_by_extension_or_nil(extension)
|
315
|
+
if lang is not None:
|
316
|
+
return lang
|
310
317
|
console.console.print(
|
311
318
|
f'Language with extension [item]{extension}[/item] not found.', style='error'
|
312
319
|
)
|
@@ -10,7 +10,7 @@ from pydantic import ValidationError
|
|
10
10
|
|
11
11
|
from rbx import console, utils
|
12
12
|
from rbx.box import cd, global_package
|
13
|
-
from rbx.box.environment import get_sandbox_type
|
13
|
+
from rbx.box.environment import get_language_by_extension, get_sandbox_type
|
14
14
|
from rbx.box.global_package import get_cache_fingerprint
|
15
15
|
from rbx.box.sanitizers import issue_stack
|
16
16
|
from rbx.box.schema import (
|
@@ -354,11 +354,15 @@ def get_solutions(root: pathlib.Path = pathlib.Path()) -> List[Solution]:
|
|
354
354
|
if '*' in str(entry.path):
|
355
355
|
for file in sorted(root.glob(str(entry.path))):
|
356
356
|
relative_file = file.relative_to(root)
|
357
|
-
|
358
|
-
|
359
|
-
|
357
|
+
if (
|
358
|
+
entry.language is not None
|
359
|
+
or get_language_by_extension(relative_file.suffix) is not None
|
360
|
+
):
|
361
|
+
add_solution(
|
362
|
+
Solution.model_copy(
|
363
|
+
entry, update={'path': relative_file}, deep=True
|
364
|
+
)
|
360
365
|
)
|
361
|
-
)
|
362
366
|
continue
|
363
367
|
add_solution(entry)
|
364
368
|
return res
|
@@ -17,19 +17,19 @@ testcases:
|
|
17
17
|
generatorScript:
|
18
18
|
path: "testplan/random.py" # Generator script written programatically.
|
19
19
|
solutions:
|
20
|
-
- path: "sols/main
|
20
|
+
- path: "sols/main*.*"
|
21
21
|
outcome: "ACCEPTED"
|
22
|
-
- path: "sols/ac
|
22
|
+
- path: "sols/ac-*.*"
|
23
23
|
outcome: "ACCEPTED"
|
24
|
-
- path: "sols/wa
|
24
|
+
- path: "sols/wa-*.*"
|
25
25
|
outcome: "WRONG_ANSWER"
|
26
|
-
- path: "sols/tle
|
26
|
+
- path: "sols/tle-*.*"
|
27
27
|
outcome: "TIME_LIMIT_EXCEEDED"
|
28
|
-
- path: "sols/mle
|
28
|
+
- path: "sols/mle-*.*"
|
29
29
|
outcome: "MEMORY_LIMIT_EXCEEDED"
|
30
|
-
- path: "sols/re
|
30
|
+
- path: "sols/re-*.*"
|
31
31
|
outcome: "RUNTIME_ERROR"
|
32
|
-
- path: "sols/fail
|
32
|
+
- path: "sols/fail-*.*"
|
33
33
|
outcome: "INCORRECT"
|
34
34
|
statements:
|
35
35
|
- name: "statement-en"
|
rbx_cp-0.18.0/rbx/__version__.py
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = '0.18.0'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/contest.rbx.tex
RENAMED
File without changes
|
{rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/info.rbx.tex
RENAMED
File without changes
|
{rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/instructions.tex
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/manual_tests/samples/000.in
RENAMED
File without changes
|
{rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/manual_tests/samples/001.in
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/statement/statement.rbx.tex
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/shared/contest_template.rbx.tex
RENAMED
File without changes
|
File without changes
|
{rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/shared/problem_template.rbx.tex
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|