rbx.cp 0.13.7__py3-none-any.whl → 0.13.8__py3-none-any.whl
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/box/packaging/polygon/upload.py +7 -1
- rbx/box/testcase_utils.py +7 -7
- rbx/resources/presets/default/contest/contest.rbx.yml +4 -0
- rbx/resources/presets/default/problem/problem.rbx.yml +2 -0
- rbx/resources/presets/default/shared/contest_template.rbx.tex +8 -2
- rbx/resources/presets/default/shared/icpc.sty +18 -5
- rbx/resources/presets/default/shared/problem_template.rbx.tex +7 -1
- {rbx_cp-0.13.7.dist-info → rbx_cp-0.13.8.dist-info}/METADATA +1 -1
- {rbx_cp-0.13.7.dist-info → rbx_cp-0.13.8.dist-info}/RECORD +12 -12
- {rbx_cp-0.13.7.dist-info → rbx_cp-0.13.8.dist-info}/LICENSE +0 -0
- {rbx_cp-0.13.7.dist-info → rbx_cp-0.13.8.dist-info}/WHEEL +0 -0
- {rbx_cp-0.13.7.dist-info → rbx_cp-0.13.8.dist-info}/entry_points.txt +0 -0
@@ -247,9 +247,15 @@ def _get_statement_for_language(language: str) -> Optional[Statement]:
|
|
247
247
|
def _get_statement_blocks(statement: Statement) -> StatementBlocks:
|
248
248
|
# TODO: actually try to convert to rbxTeX
|
249
249
|
assert statement.type == StatementType.rbxTeX
|
250
|
+
pkg = package.find_problem_package_or_die()
|
251
|
+
# TODO: pull this from a library, too hacky at the moment
|
250
252
|
builder_problem = StatementBuilderProblem(
|
251
|
-
package=
|
253
|
+
package=pkg,
|
252
254
|
statement=statement,
|
255
|
+
vars={
|
256
|
+
**pkg.expanded_vars,
|
257
|
+
**statement.expanded_vars,
|
258
|
+
},
|
253
259
|
)
|
254
260
|
with tempfile.TemporaryDirectory() as temp_dir:
|
255
261
|
return render_jinja_blocks(
|
rbx/box/testcase_utils.py
CHANGED
@@ -181,10 +181,10 @@ def parse_interaction(file: pathlib.Path) -> TestcaseInteraction:
|
|
181
181
|
|
182
182
|
while line := f.readline().strip():
|
183
183
|
if line.startswith(interactor_prefix):
|
184
|
-
stripped = line[len(interactor_prefix) :].
|
184
|
+
stripped = line[len(interactor_prefix) :].rstrip()
|
185
185
|
entries.append(TestcaseInteractionEntry(data=stripped, pipe=0))
|
186
186
|
elif line.startswith(solution_prefix):
|
187
|
-
stripped = line[len(solution_prefix) :].
|
187
|
+
stripped = line[len(solution_prefix) :].rstrip()
|
188
188
|
entries.append(TestcaseInteractionEntry(data=stripped, pipe=1))
|
189
189
|
else:
|
190
190
|
raise TestcaseInteractionParsingError(
|
@@ -204,11 +204,11 @@ def get_alternate_interaction_texts(
|
|
204
204
|
solution_entries = []
|
205
205
|
for entry in interaction.entries:
|
206
206
|
if entry.pipe == 1:
|
207
|
-
solution_entries.append(entry.data)
|
208
|
-
interactor_entries.extend(['\n'] * entry.data.count('\n'))
|
207
|
+
solution_entries.append(entry.data + '\n')
|
208
|
+
interactor_entries.extend(['\n'] * (entry.data.count('\n') + 1))
|
209
209
|
else:
|
210
|
-
interactor_entries.append(entry.data)
|
211
|
-
solution_entries.extend(['\n'] * entry.data.count('\n'))
|
210
|
+
interactor_entries.append(entry.data + '\n')
|
211
|
+
solution_entries.extend(['\n'] * (entry.data.count('\n') + 1))
|
212
212
|
return ''.join(interactor_entries), ''.join(solution_entries)
|
213
213
|
|
214
214
|
|
@@ -219,4 +219,4 @@ def print_interaction(interaction: TestcaseInteraction):
|
|
219
219
|
text.stylize('status')
|
220
220
|
else:
|
221
221
|
text.stylize('info')
|
222
|
-
console.console.print(text
|
222
|
+
console.console.print(text)
|
@@ -17,6 +17,10 @@ statements:
|
|
17
17
|
configure:
|
18
18
|
- type: "rbx-tex" # Convert rbxTeX to TeX
|
19
19
|
template: "statement/template.rbx.tex"
|
20
|
+
vars:
|
21
|
+
# Turn into false to hide time limits and memory limits in the problem statement.
|
22
|
+
# Useful for ICPC-style contests where you distribute a separate info sheet.
|
23
|
+
show_limits: true
|
20
24
|
- name: "editorial-en"
|
21
25
|
extends: "statement-en"
|
22
26
|
override:
|
@@ -1,10 +1,16 @@
|
|
1
|
-
%- if vars.show_problem is truthy or vars.editorial is falsy
|
1
|
+
%- if problem.vars.show_problem is truthy or problem.vars.editorial is falsy
|
2
2
|
\includeProblem
|
3
3
|
%- if problem.short_name is defined
|
4
4
|
[\VAR{problem.short_name}]
|
5
5
|
%- endif
|
6
6
|
{\VAR{problem.title | escape}}{
|
7
7
|
|
8
|
+
%- if problem.vars.show_limits is truthy
|
9
|
+
\includeLimits{\VAR{problem.package.timeLimit} ms}{\VAR{problem.package.memoryLimit} MiB}
|
10
|
+
%- else
|
11
|
+
\vspace{0.55cm}
|
12
|
+
%- endif
|
13
|
+
|
8
14
|
\VAR{problem.blocks.legend}
|
9
15
|
|
10
16
|
%- if problem.blocks.input is defined
|
@@ -20,7 +26,7 @@
|
|
20
26
|
%- endif
|
21
27
|
|
22
28
|
%- if problem.samples
|
23
|
-
\vspace{0.
|
29
|
+
\vspace{0.1cm}
|
24
30
|
\subsection*{\strExamples}
|
25
31
|
%- for sample in problem.samples
|
26
32
|
%- if sample.interaction is not none
|
@@ -16,6 +16,7 @@
|
|
16
16
|
\let\mytitleformat\titleformat
|
17
17
|
\let\titleformat\relax
|
18
18
|
\usepackage{logicpuzzle}
|
19
|
+
\let\titleformat\mytitleformat
|
19
20
|
\usepackage{enumitem}
|
20
21
|
\usepackage{amsfonts}
|
21
22
|
\usepackage[brazil]{babel}
|
@@ -76,6 +77,11 @@
|
|
76
77
|
|
77
78
|
\setlength{\voffset}{-1in}
|
78
79
|
|
80
|
+
% Increase section text sizes
|
81
|
+
\titleformat{\section}{\LARGE\bfseries}{\thesection}{1em}{}
|
82
|
+
\titleformat{\subsection}{\Large\bfseries}{\thesubsection}{1em}{}
|
83
|
+
\titleformat{\subsubsection}{\normalsize\bfseries}{\thesubsubsection}{1em}{}
|
84
|
+
|
79
85
|
\newcommand{\insereArquivo}[1]{
|
80
86
|
\ifnum0\pdffilesize{#1}>0
|
81
87
|
\VerbatimInput[xleftmargin=0mm,numbers=none,obeytabs=true]{#1}\vspace{.5em}
|
@@ -139,6 +145,15 @@
|
|
139
145
|
#3
|
140
146
|
}
|
141
147
|
|
148
|
+
\newcommand{\includeLimits}[2]{
|
149
|
+
\vspace{0.2cm}
|
150
|
+
\begin{center}
|
151
|
+
\textit{\strTimeLimit: #1}\\
|
152
|
+
\textit{\strMemoryLimit: #2}
|
153
|
+
\end{center}
|
154
|
+
\vspace{0.25cm}
|
155
|
+
}
|
156
|
+
|
142
157
|
\newcommand{\inputdesc}[1]{
|
143
158
|
\subsection*{\strInput}
|
144
159
|
{#1} }
|
@@ -271,11 +286,9 @@
|
|
271
286
|
\newcounter{pcounter}\setcounter{pcounter}{0}
|
272
287
|
\newcounter{qcounter}\setcounter{qcounter}{0}
|
273
288
|
|
274
|
-
\
|
275
|
-
|
276
|
-
\titlespacing\
|
277
|
-
\titlespacing\subsection{0pt}{6pt plus 4pt minus 2pt}{0pt plus 2pt minus 2pt}
|
278
|
-
\titlespacing\subsubsection{0pt}{6t plus 4pt minus 2pt}{0pt plus 2pt minus 2pt}
|
289
|
+
\titlespacing\section{0pt}{12pt plus 0pt minus 2pt}{10pt plus 0pt minus 2pt}
|
290
|
+
\titlespacing\subsection{0pt}{12pt plus 0pt minus 2pt}{10pt plus 0pt minus 2pt}
|
291
|
+
\titlespacing\subsubsection{0pt}{12pt plus 0pt minus 2pt}{10pt plus 0pt minus 2pt}
|
279
292
|
|
280
293
|
\newcommand{\InsertTitlePage}
|
281
294
|
{
|
@@ -15,6 +15,12 @@
|
|
15
15
|
%- endif
|
16
16
|
{\VAR{problem.title | escape}}{
|
17
17
|
|
18
|
+
%- if problem.vars.show_limits is truthy
|
19
|
+
\includeLimits{\VAR{problem.package.timeLimit} ms}{\VAR{problem.package.memoryLimit} MiB}
|
20
|
+
%- else
|
21
|
+
\vspace{0.55cm}
|
22
|
+
%- endif
|
23
|
+
|
18
24
|
\VAR{problem.blocks.legend}
|
19
25
|
|
20
26
|
%- if problem.blocks.input is defined
|
@@ -30,7 +36,7 @@
|
|
30
36
|
%- endif
|
31
37
|
|
32
38
|
%- if problem.samples
|
33
|
-
\vspace{0.
|
39
|
+
\vspace{0.1cm}
|
34
40
|
\subsection*{\strExamples}
|
35
41
|
%- for sample in problem.samples
|
36
42
|
%- if sample.interaction is not none
|
@@ -47,7 +47,7 @@ rbx/box/packaging/polygon/importer.py,sha256=xmtKQo5q81s30u41cEe5PWsepDMJx2XbZRx
|
|
47
47
|
rbx/box/packaging/polygon/packager.py,sha256=JYVT6FjFh2PJi8ZjjmmgiIe_CNrYUX15LUhkYi1aF3Y,12194
|
48
48
|
rbx/box/packaging/polygon/polygon_api.py,sha256=mPKEqiwANJ1nr-JhOgzGMaDhnbljsAgzzPHW6kkf7R4,41016
|
49
49
|
rbx/box/packaging/polygon/test.py,sha256=bgEju5PwudgyfwxXJagm8fM6CJVlWM6l_-2q1V-oKaQ,3069
|
50
|
-
rbx/box/packaging/polygon/upload.py,sha256=
|
50
|
+
rbx/box/packaging/polygon/upload.py,sha256=wFUOEPa5bnKiIoUcwPY5rhfrz9doq-2B2fJqrsZFSdk,13722
|
51
51
|
rbx/box/packaging/polygon/xml_schema.py,sha256=TSl4BWwMWv7V07BKJ56mcLXNr_3zlRgNmqN2q-wnk4M,3128
|
52
52
|
rbx/box/presets/__init__.py,sha256=Vm9Xievtn1fbFMHubPh6Ngz-GvMx3ycfx15tkvwcvfA,33421
|
53
53
|
rbx/box/presets/fetch.py,sha256=900aq9S8e12TlgSenG0iHgtF4OWgqavZsptgI_a1YKM,2508
|
@@ -75,7 +75,7 @@ rbx/box/stressing/finder_parser.py,sha256=PnONJD2yun5X5EmHqkaz-rh3DHhn_BkTPHZrIX
|
|
75
75
|
rbx/box/stressing/generator_parser.py,sha256=oHZryjR3YohgaSO9WEirQ7b2e-98WgZStF0N99W4Thw,7380
|
76
76
|
rbx/box/tasks.py,sha256=CJ7TqzhVMPP4VUSrMpp3ofSDJn0rbuwIUWgFOiup_vE,11426
|
77
77
|
rbx/box/testcase_extractors.py,sha256=vyT3Qw9FkQ-SABcgjyL9UBdKT1SktJ3-_4A-HRj6FQA,11942
|
78
|
-
rbx/box/testcase_utils.py,sha256=
|
78
|
+
rbx/box/testcase_utils.py,sha256=gFBs6OqdYk9NYhVuCP2BMxKvqKCmBUnbW5nKm0AKqoc,6941
|
79
79
|
rbx/box/testcases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
80
80
|
rbx/box/testcases/main.py,sha256=_I7h_obRcpNLRQ6dDJDIE5NAvTyn5nBOhdsBhRA_PvU,5442
|
81
81
|
rbx/box/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -190,7 +190,7 @@ rbx/resources/packagers/moj/scripts/py3/compile.sh,sha256=XPn8qDR_gPAAZD9h5lVEMd
|
|
190
190
|
rbx/resources/packagers/moj/scripts/py3/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
|
191
191
|
rbx/resources/packagers/moj/scripts/py3/run.sh,sha256=LrMi7Tap9no8gh64QNGUXbWauP6ZpSl-wEwXZ2qhPo0,197
|
192
192
|
rbx/resources/presets/default/contest/.gitignore,sha256=CMwGD717vKcbQrXjha2D4LMwjDfQcev8rjFPg0AIi4A,131
|
193
|
-
rbx/resources/presets/default/contest/contest.rbx.yml,sha256=
|
193
|
+
rbx/resources/presets/default/contest/contest.rbx.yml,sha256=NsF5QNWKgFRdrLDiG6voH9rXethSZmaDUmlGgxQ_BCk,1058
|
194
194
|
rbx/resources/presets/default/contest/statement/contest.rbx.tex,sha256=Jx6op_WdVpQOMekvOAZnBzDxxvBzg1_9ZFWtbzGasLo,793
|
195
195
|
rbx/resources/presets/default/contest/statement/instructions.tex,sha256=JG_eR13ukZgEahrrmrbg40H8cUzpoUE8QLocihN-fZ8,2414
|
196
196
|
rbx/resources/presets/default/contest/statement/logo.png,sha256=RLNYmZoc-BR6AZKkmr4UEg3h01YeFzvy604jMAQC7aA,414485
|
@@ -200,7 +200,7 @@ rbx/resources/presets/default/problem/.gitignore,sha256=CMwGD717vKcbQrXjha2D4LMw
|
|
200
200
|
rbx/resources/presets/default/problem/gens/gen.cpp,sha256=rn6sGRjZ1sFE1Rq02r6488iquY9xTrutcvLv4d1sohA,178
|
201
201
|
rbx/resources/presets/default/problem/manual_tests/samples/000.in,sha256=w66OEtCJGqjUNj8cJrqgImgGVm8W_OlIUtF255ds-ow,4
|
202
202
|
rbx/resources/presets/default/problem/manual_tests/samples/001.in,sha256=P4QInDX87xXoDWu4PVIzUeNW5LtTlUKbMCvJ9uZOPGw,20
|
203
|
-
rbx/resources/presets/default/problem/problem.rbx.yml,sha256=
|
203
|
+
rbx/resources/presets/default/problem/problem.rbx.yml,sha256=jawPzfJJ17pVSiWGRqjSqDm3PTD5kF_KO19eTLFsAC4,1725
|
204
204
|
rbx/resources/presets/default/problem/rbx.h,sha256=LBkbC3gbDPW2Fdm1p99hNhF7oKpZLLSY7dE4zpepp5w,2161
|
205
205
|
rbx/resources/presets/default/problem/sols/main.cpp,sha256=AW-j65DiFYUN18rddTKCWc_VyYCMgCbjZ0jAJ-0JLuA,124
|
206
206
|
rbx/resources/presets/default/problem/sols/wa.cpp,sha256=Bj7tejPIlXG_JqUHWY1zi9TDbHdRZzgT_JDbCLRdhbQ,136
|
@@ -209,9 +209,9 @@ rbx/resources/presets/default/problem/testplan/random.py,sha256=XclCB6pw9NT1ahu9
|
|
209
209
|
rbx/resources/presets/default/problem/testplan/random.txt,sha256=XDrow4p79owKnjqyvaIVSNTXwWQDe3X1k_9-2zH43O8,34
|
210
210
|
rbx/resources/presets/default/problem/validator.cpp,sha256=I_Vs12xQnJnwkRtCu4EjazdaERms4GktZhME7zGaQjU,337
|
211
211
|
rbx/resources/presets/default/problem/wcmp.cpp,sha256=gbjJe3Vf9-YzHCEqBUq30aI3jMZXhqBDn3jjecYOn-w,902
|
212
|
-
rbx/resources/presets/default/shared/contest_template.rbx.tex,sha256=
|
213
|
-
rbx/resources/presets/default/shared/icpc.sty,sha256=
|
214
|
-
rbx/resources/presets/default/shared/problem_template.rbx.tex,sha256=
|
212
|
+
rbx/resources/presets/default/shared/contest_template.rbx.tex,sha256=iGUXFeob2Jw1jEr0qyP9M8D0jVZJEf2j0heyLy4t90M,1484
|
213
|
+
rbx/resources/presets/default/shared/icpc.sty,sha256=d2fdlIcC559pq-Z4aEd2VGcAUE-z-qrltYSd2clTXhY,8451
|
214
|
+
rbx/resources/presets/default/shared/problem_template.rbx.tex,sha256=xn4wE4mlc5yRR4QVDR5cfj14e8zFJXo2iBRftXQgQqw,1594
|
215
215
|
rbx/resources/templates/rbx.h,sha256=0AZds9R0PmuPgnlTENb33Y81LW0LlnmOJFaoN8oG3Yo,3638
|
216
216
|
rbx/resources/templates/template.cpp,sha256=xXWpWo7fa7HfmPNqkmHcmv3i46Wm0ZL-gPmkRfGvLn4,317
|
217
217
|
rbx/submitors/__init__.py,sha256=sVcRNnuKMZatmpGkQURaEVHK-MfU2U0nH4nOatuqywE,620
|
@@ -219,8 +219,8 @@ rbx/submitors/codeforces.py,sha256=s8c7sXfm5k76SKMC8g0Y93-RRf8wY2uWbBtA8ODD5eM,4
|
|
219
219
|
rbx/submitors/submitor.py,sha256=8q-Hbdahxt30ciT_R9j_xF6lEPUh9IcfAUnzjQjbvHU,457
|
220
220
|
rbx/testing_utils.py,sha256=965vlkQpUW8cEqjB6S2g_C_avL5fn503mJPbqjY_zt4,2317
|
221
221
|
rbx/utils.py,sha256=xDqmry5rpqRGPFrx3ipNGBt2WxWDAD5LwU7jvgibXkk,8630
|
222
|
-
rbx_cp-0.13.
|
223
|
-
rbx_cp-0.13.
|
224
|
-
rbx_cp-0.13.
|
225
|
-
rbx_cp-0.13.
|
226
|
-
rbx_cp-0.13.
|
222
|
+
rbx_cp-0.13.8.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
223
|
+
rbx_cp-0.13.8.dist-info/METADATA,sha256=Aj2dEF0ykkbumQpqjho-udy2bLahFJ2Yh_ynTQkuzn0,4659
|
224
|
+
rbx_cp-0.13.8.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
225
|
+
rbx_cp-0.13.8.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
|
226
|
+
rbx_cp-0.13.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|