rbx.cp 0.5.6__tar.gz → 0.5.9__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.5.6 → rbx_cp-0.5.9}/PKG-INFO +1 -1
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/pyproject.toml +1 -1
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/contest/main.py +22 -13
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/creation.py +1 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/presets/__init__.py +2 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/LICENSE +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/README.md +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/annotations.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/autoenum.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/builder.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/cd.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/checkers.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/code.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/compile.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/conftest.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/contest/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/contest/build_contest_statements.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/contest/contest_package.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/contest/contest_utils.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/contest/schema.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/contest/statements.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/download.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/environment.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/extensions.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/generators.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/generators_test.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/main.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/package.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/packaging/boca/extension.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/packaging/boca/packager.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/packaging/contest_main.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/packaging/main.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/packaging/packager.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/packaging/polygon/packager.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/packaging/polygon/test.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/packaging/polygon/xml_schema.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/presets/fetch.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/presets/lock_schema.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/presets/schema.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/schema.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/solutions.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/solutions_test.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/statements/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/statements/build_statements.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/statements/builders.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/statements/joiners.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/statements/latex.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/statements/latex_jinja.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/statements/schema.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/stresses.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/stressing/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/stressing/finder_parser.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/stressing/generator_parser.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/testcases.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/ui/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/ui/captured_log.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/ui/css/app.tcss +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/ui/main.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/ui/run.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/validators.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/box/validators_test.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/checker.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/clone.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/config.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/conftest.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/console.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/create.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/edit.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/caching.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/conftest.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/cacher.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/digester.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/sandbox.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/sandboxes/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/sandboxes/isolate.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/sandboxes/stupid_sandbox.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/sandboxes/timeit.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/storage.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/test.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/judge/testiso.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/steps.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/steps_with_caching.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading/steps_with_caching_run_test.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/grading_utils.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/hydration.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/main.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/metadata.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/providers/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/providers/codeforces.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/providers/provider.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/checkers/boilerplate.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/default_config.json +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/envs/default.rbx.yml +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/envs/isolate.rbx.yml +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/checker.sh +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/compare +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/compile/c +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/compile/cc +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/compile/cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/compile/java +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/compile/kt +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/compile/pas +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/compile/py2 +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/compile/py3 +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/run/c +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/run/cc +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/run/cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/run/java +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/run/kt +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/run/py2 +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/packagers/boca/run/py3 +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/contest/contest.rbx.yml +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/contest/statement/contest.rbx.tex +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/contest/statement/olymp.sty +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/contest/statement/template.rbx.tex +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/preset.rbx.yml +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/.gitignore +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/gen.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/problem.rbx.yml +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/random.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/random.txt +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/sols/main.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/sols/slow.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/sols/wa.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/statement/olymp.sty +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/statement/projecao.png +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/statement/statement.rbx.tex +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/statement/template.rbx.tex +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/tests/samples/000.in +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/tests/samples/001.in +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/validator.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/wcmp.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/templates/template.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/run.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/schema.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/submit.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/submitors/__init__.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/submitors/codeforces.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/submitors/submitor.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/test.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testcase.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testcase_rendering.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/gen1.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/gen2.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/genScript.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/hard-tle.sol.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/ole.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/problem.rbx.yml +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/re.sol.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/sol.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/tests/1.in +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/tle-and-incorrect.sol.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/tle.sol.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/validator.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/box1/wa.sol.cpp +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/caching/executable.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testdata/compatible +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/testing_utils.py +0 -0
- {rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/utils.py +0 -0
@@ -3,6 +3,7 @@ import shutil
|
|
3
3
|
import subprocess
|
4
4
|
from typing import Annotated, Optional
|
5
5
|
|
6
|
+
import rich.prompt
|
6
7
|
import typer
|
7
8
|
|
8
9
|
from rbx import annotations, console, utils
|
@@ -38,7 +39,7 @@ app.add_typer(
|
|
38
39
|
|
39
40
|
@app.command('create, c', help='Create a new contest package.')
|
40
41
|
def create(
|
41
|
-
|
42
|
+
path: str,
|
42
43
|
preset: Annotated[
|
43
44
|
str,
|
44
45
|
typer.Option(
|
@@ -54,7 +55,7 @@ def create(
|
|
54
55
|
help='Whether to inline the installed preset within the contest folder.',
|
55
56
|
),
|
56
57
|
):
|
57
|
-
console.console.print(f'Creating new contest [item]{
|
58
|
+
console.console.print(f'Creating new contest at [item]{path}[/item]...')
|
58
59
|
|
59
60
|
fetch_info = get_preset_fetch_info(preset)
|
60
61
|
if fetch_info is None:
|
@@ -85,17 +86,24 @@ def create(
|
|
85
86
|
)
|
86
87
|
raise typer.Exit(1)
|
87
88
|
|
88
|
-
dest_path = pathlib.Path(
|
89
|
+
dest_path = pathlib.Path(path)
|
89
90
|
|
90
91
|
if dest_path.exists():
|
91
|
-
|
92
|
-
f'
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
92
|
+
if not rich.prompt.Confirm.ask(
|
93
|
+
f'Directory [item]{dest_path}[/item] already exists. Create contest in it? This might be destructive.',
|
94
|
+
show_default=False,
|
95
|
+
console=console.console,
|
96
|
+
):
|
97
|
+
console.console.print(
|
98
|
+
f'[error]Directory [item]{dest_path}[/item] already exists.[/error]'
|
99
|
+
)
|
100
|
+
raise typer.Exit(1)
|
101
|
+
|
102
|
+
dest_path.mkdir(parents=True, exist_ok=True)
|
103
|
+
shutil.copytree(str(contest_path), str(dest_path), dirs_exist_ok=True)
|
97
104
|
shutil.rmtree(str(dest_path / 'build'), ignore_errors=True)
|
98
105
|
shutil.rmtree(str(dest_path / '.box'), ignore_errors=True)
|
106
|
+
shutil.rmtree(str(dest_path / '.local.rbx'), ignore_errors=True)
|
99
107
|
# TODO: consider clearing build and .box recursively for nested problem directories
|
100
108
|
for lock in dest_path.rglob('.preset-lock.yml'):
|
101
109
|
lock.unlink(missing_ok=True)
|
@@ -120,7 +128,8 @@ def edit():
|
|
120
128
|
|
121
129
|
@app.command('add, a', help='Add new problem to contest.')
|
122
130
|
@within_contest
|
123
|
-
def add(
|
131
|
+
def add(path: str, short_name: str, preset: Optional[str] = None):
|
132
|
+
name = pathlib.Path(path).stem
|
124
133
|
utils.validate_field(ContestProblem, 'short_name', short_name)
|
125
134
|
utils.validate_field(Package, 'name', name)
|
126
135
|
|
@@ -133,21 +142,21 @@ def add(name: str, short_name: str, preset: Optional[str] = None):
|
|
133
142
|
preset_lock = presets.get_preset_lock()
|
134
143
|
if preset is None and preset_lock is not None:
|
135
144
|
preset = preset_lock.preset_name
|
136
|
-
creation.create(name, preset=preset, path=pathlib.Path(
|
145
|
+
creation.create(name, preset=preset, path=pathlib.Path(path))
|
137
146
|
|
138
147
|
contest = find_contest_package_or_die()
|
139
148
|
# Reassign mutable object before saving.
|
140
149
|
contest.problems = sorted(
|
141
150
|
[
|
142
151
|
*contest.problems,
|
143
|
-
ContestProblem(short_name=short_name, path=pathlib.Path(
|
152
|
+
ContestProblem(short_name=short_name, path=pathlib.Path(path)),
|
144
153
|
],
|
145
154
|
key=lambda p: p.short_name,
|
146
155
|
)
|
147
156
|
|
148
157
|
save_contest(contest)
|
149
158
|
console.console.print(
|
150
|
-
f'Problem [item]{name} ({short_name})[/item] added to contest.'
|
159
|
+
f'Problem [item]{name} ({short_name})[/item] added to contest at [item]{path}[/item].'
|
151
160
|
)
|
152
161
|
|
153
162
|
|
@@ -334,6 +334,8 @@ def _install(root: pathlib.Path = pathlib.Path(), force: bool = False):
|
|
334
334
|
shutil.copytree(str(root), str(installation_path))
|
335
335
|
shutil.rmtree(str(installation_path / 'build'), ignore_errors=True)
|
336
336
|
shutil.rmtree(str(installation_path / '.box'), ignore_errors=True)
|
337
|
+
shutil.rmtree(str(installation_path / '.local.rbx'), ignore_errors=True)
|
338
|
+
shutil.rmtree(str(installation_path / '.git'), ignore_errors=True)
|
337
339
|
|
338
340
|
|
339
341
|
def install_from_remote(fetch_info: PresetFetchInfo, force: bool = False) -> str:
|
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.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/contest/statement/contest.rbx.tex
RENAMED
File without changes
|
File without changes
|
{rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/contest/statement/template.rbx.tex
RENAMED
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.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/statement/statement.rbx.tex
RENAMED
File without changes
|
{rbx_cp-0.5.6 → rbx_cp-0.5.9}/rbx/resources/presets/default/problem/statement/template.rbx.tex
RENAMED
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
|