rbx.cp 0.5.49__py3-none-any.whl → 0.5.51__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/cli.py +12 -0
- rbx/box/code.py +1 -0
- rbx/box/download.py +11 -1
- rbx/box/header.py +73 -0
- rbx/box/naming.py +9 -0
- rbx/box/packaging/boca/packager.py +3 -1
- rbx/box/packaging/contest_main.py +6 -4
- rbx/box/packaging/main.py +18 -1
- rbx/box/packaging/moj/packager.py +6 -1
- rbx/box/packaging/polygon/packager.py +30 -7
- rbx/box/packaging/polygon/polygon_api.py +1327 -0
- rbx/box/packaging/polygon/upload.py +336 -0
- rbx/box/packaging/polygon/xml_schema.py +6 -0
- rbx/box/solutions.py +64 -27
- rbx/box/testcase_utils.py +27 -0
- rbx/box/testcases/main.py +2 -0
- rbx/box/unit.py +31 -9
- rbx/resources/packagers/boca/checker.sh +5 -0
- rbx/resources/templates/rbx.h +90 -0
- {rbx_cp-0.5.49.dist-info → rbx_cp-0.5.51.dist-info}/METADATA +1 -1
- {rbx_cp-0.5.49.dist-info → rbx_cp-0.5.51.dist-info}/RECORD +24 -20
- {rbx_cp-0.5.49.dist-info → rbx_cp-0.5.51.dist-info}/LICENSE +0 -0
- {rbx_cp-0.5.49.dist-info → rbx_cp-0.5.51.dist-info}/WHEEL +0 -0
- {rbx_cp-0.5.49.dist-info → rbx_cp-0.5.51.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,90 @@
|
|
1
|
+
#include <optional>
|
2
|
+
#include <stdexcept>
|
3
|
+
#include <string>
|
4
|
+
|
5
|
+
#ifndef _RBX_H
|
6
|
+
#define _RBX_H
|
7
|
+
|
8
|
+
std::optional<std::string> getStringVar(std::string name) {
|
9
|
+
//<rbx::string_var>
|
10
|
+
return std::nullopt;
|
11
|
+
}
|
12
|
+
|
13
|
+
std::optional<int> getIntVar(std::string name) {
|
14
|
+
//<rbx::int_var>
|
15
|
+
return std::nullopt;
|
16
|
+
}
|
17
|
+
|
18
|
+
std::optional<float> getFloatVar(std::string name) {
|
19
|
+
//<rbx::float_var>
|
20
|
+
return std::nullopt;
|
21
|
+
}
|
22
|
+
|
23
|
+
std::optional<bool> getBoolVar(std::string name) {
|
24
|
+
//<rbx::bool_var>
|
25
|
+
return std::nullopt;
|
26
|
+
}
|
27
|
+
|
28
|
+
template <typename T> T getVar(std::string name);
|
29
|
+
|
30
|
+
template <> int getVar<int>(std::string name) {
|
31
|
+
auto opt = getIntVar(name);
|
32
|
+
if (!opt.has_value()) {
|
33
|
+
throw std::runtime_error("Variable " + name +
|
34
|
+
" is not an integer or could not be found");
|
35
|
+
}
|
36
|
+
return opt.value();
|
37
|
+
}
|
38
|
+
|
39
|
+
template <> float getVar<float>(std::string name) {
|
40
|
+
auto opt = getFloatVar(name);
|
41
|
+
if (!opt.has_value()) {
|
42
|
+
auto intOpt = getIntVar(name);
|
43
|
+
if (intOpt.has_value()) {
|
44
|
+
opt = (float)intOpt.value();
|
45
|
+
}
|
46
|
+
}
|
47
|
+
if (!opt.has_value()) {
|
48
|
+
throw std::runtime_error("Variable " + name +
|
49
|
+
" is not a float or could not be found");
|
50
|
+
}
|
51
|
+
return opt.value();
|
52
|
+
}
|
53
|
+
|
54
|
+
template <> double getVar<double>(std::string name) {
|
55
|
+
return getVar<float>(name);
|
56
|
+
}
|
57
|
+
|
58
|
+
template <> std::string getVar<std::string>(std::string name) {
|
59
|
+
auto opt = getStringVar(name);
|
60
|
+
if (!opt.has_value()) {
|
61
|
+
auto intOpt = getIntVar(name);
|
62
|
+
if (intOpt.has_value()) {
|
63
|
+
opt = std::to_string(intOpt.value());
|
64
|
+
}
|
65
|
+
}
|
66
|
+
if (!opt.has_value()) {
|
67
|
+
auto floatOpt = getFloatVar(name);
|
68
|
+
if (floatOpt.has_value()) {
|
69
|
+
opt = std::to_string(floatOpt.value());
|
70
|
+
}
|
71
|
+
}
|
72
|
+
if (!opt.has_value()) {
|
73
|
+
throw std::runtime_error("Variable " + name +
|
74
|
+
" is not a string or could not be found");
|
75
|
+
}
|
76
|
+
return opt.value();
|
77
|
+
}
|
78
|
+
|
79
|
+
template <> bool getVar<bool>(std::string name) {
|
80
|
+
auto opt = getBoolVar(name);
|
81
|
+
if (!opt.has_value()) {
|
82
|
+
opt = getIntVar(name) != 0;
|
83
|
+
}
|
84
|
+
if (!opt.has_value()) {
|
85
|
+
throw std::runtime_error("Variable " + name +
|
86
|
+
" is not a boolean or could not be found");
|
87
|
+
}
|
88
|
+
return opt.value();
|
89
|
+
}
|
90
|
+
#endif
|
@@ -5,8 +5,8 @@ rbx/box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
rbx/box/builder.py,sha256=MDm2qqmhedAbhn3rWP6cDwbBsGhV6sz_2sg1zLkPDw0,3613
|
6
6
|
rbx/box/cd.py,sha256=9a_SOnzoJBXxxffp4Wbf3UKXIwKuN3Hvj7K6SocALwE,1194
|
7
7
|
rbx/box/checkers.py,sha256=eb4tqtVUJYlme_Vkj2TGkUABM7EMS0P1EswhMYjN7BI,11459
|
8
|
-
rbx/box/cli.py,sha256=
|
9
|
-
rbx/box/code.py,sha256=
|
8
|
+
rbx/box/cli.py,sha256=lGyAa5WrK8h61QWC2OrOWuC8Va0VOZedQnY-_0uOp3k,26703
|
9
|
+
rbx/box/code.py,sha256=g2e3PPGQFNRnMBkTuqw3D4nFS8hnvzNCDc4vVSYGugY,18846
|
10
10
|
rbx/box/compile.py,sha256=OJLthDQ921w9vyoE6Gk1Df54i5RwtRJ2YG-8XEfefcs,2489
|
11
11
|
rbx/box/conftest.py,sha256=sEmciXSeDC-wmrZ1JSxbsUenKNP_VWW32mrCun2pY3I,1070
|
12
12
|
rbx/box/contest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -18,26 +18,29 @@ rbx/box/contest/schema.py,sha256=JMAig5WpaOahNgAHxA9vX4zYeVYDxpjKP_PFGvmmkE0,495
|
|
18
18
|
rbx/box/contest/statements.py,sha256=Or8gFb6P_oViGdeiVgepXsvd_W84mA7LRaVmiAXWWSg,2977
|
19
19
|
rbx/box/creation.py,sha256=Evz7K6JoarD-4JJQsZsgoxU9FgCF9Z7-LfuroG4Cqls,2444
|
20
20
|
rbx/box/deferred.py,sha256=II3X9e87JCOZtmspnHh-n4PFqh-FsH_oc0XJHZ9ZYVQ,691
|
21
|
-
rbx/box/download.py,sha256=
|
21
|
+
rbx/box/download.py,sha256=DxAiAk4lDYWEz1C9UTvZzHTq6hgm4fxGezApm2IkCTM,2601
|
22
22
|
rbx/box/environment.py,sha256=S-OLvR2_Nac8m923b9AtDhOY3goRJXlPA_I3s7BeDqQ,11162
|
23
23
|
rbx/box/extensions.py,sha256=Von8kIeXvNFTkGlMRMTvL2HIHPwlkuiMswr-ydbGV1w,519
|
24
24
|
rbx/box/formatting.py,sha256=3phFRHzqVXj4Ok1yDhCq6Clbw6KlqwJNpMhs--oTWFI,405
|
25
25
|
rbx/box/generators.py,sha256=5-3K0JSLR9GbV0LmOkvNsWiQaMvhFBrI56ZaV1WgodQ,13472
|
26
26
|
rbx/box/generators_test.py,sha256=J7aBfuJhU84MWDWzgReRoOuQw_hVa09B8gTKAvL2XVo,1987
|
27
|
+
rbx/box/header.py,sha256=ifErXcIxG5lM5AyRiHDr7JE401vR4ORNXCNpHXxN_ls,2001
|
27
28
|
rbx/box/lazy_importing_main.py,sha256=6Z8As7qVFFT619xHH9Xt8VCH57NjC4aDxfAgkWiUwT8,116
|
28
29
|
rbx/box/lazy_importing_test.py,sha256=B0-b3y_DkxEmtVfu4NfmVsgVdFl6kRCsEL6GLMHJISo,628
|
29
30
|
rbx/box/main.py,sha256=Imwc0ZkheOpa5r8S0Xpb8RLQzJgxb9vyuSR4_wab11g,43
|
30
|
-
rbx/box/naming.py,sha256=
|
31
|
+
rbx/box/naming.py,sha256=OiaiLe0k1sBx4vIXemUqnzfdNte79rrCgOvBze9XaTw,940
|
31
32
|
rbx/box/package.py,sha256=YuX_FS6yKx6FaFz0NF0cx3v6jzhqwvsLr3Oprx_TTJA,13645
|
32
33
|
rbx/box/packaging/boca/extension.py,sha256=EQALNEOv4zVDXSKs_dk11n92y7cBZVn8TogIK683lE0,890
|
33
|
-
rbx/box/packaging/boca/packager.py,sha256=
|
34
|
-
rbx/box/packaging/contest_main.py,sha256=
|
35
|
-
rbx/box/packaging/main.py,sha256=
|
36
|
-
rbx/box/packaging/moj/packager.py,sha256=
|
34
|
+
rbx/box/packaging/boca/packager.py,sha256=XPCauwbemjWNNnfIocJ8pxnlsxRjst4wYXJsVDyMQlM,12632
|
35
|
+
rbx/box/packaging/contest_main.py,sha256=UsRfIdNmOf0iLUbzgjxzyECfMuCQINstG1SCClGHaUQ,2808
|
36
|
+
rbx/box/packaging/main.py,sha256=qltqDncaxtvP3xXyUZGqWampBvh340JJjLru0h8XTPI,3476
|
37
|
+
rbx/box/packaging/moj/packager.py,sha256=tk0S0hayPnbGrFQsw1Ht_mYOriRlzYHgrkXLO-0ZknY,8724
|
37
38
|
rbx/box/packaging/packager.py,sha256=da2haC1L9cG30myneMrRIAdGubtid0Xmy38BHKPCZZ4,3633
|
38
|
-
rbx/box/packaging/polygon/packager.py,sha256=
|
39
|
+
rbx/box/packaging/polygon/packager.py,sha256=GfZ-Dc2TDKkb3QNnfOy8yxldho2L401Ao06oWg--Gcs,11714
|
40
|
+
rbx/box/packaging/polygon/polygon_api.py,sha256=mPKEqiwANJ1nr-JhOgzGMaDhnbljsAgzzPHW6kkf7R4,41016
|
39
41
|
rbx/box/packaging/polygon/test.py,sha256=bgEju5PwudgyfwxXJagm8fM6CJVlWM6l_-2q1V-oKaQ,3069
|
40
|
-
rbx/box/packaging/polygon/
|
42
|
+
rbx/box/packaging/polygon/upload.py,sha256=2WyEXlfprLUDbq-9AMB5hXOQVvvmsT1-stO60MHrEo0,11182
|
43
|
+
rbx/box/packaging/polygon/xml_schema.py,sha256=ZgcLyvxggMUccbTNdzflue5G-FTN2_ZmOGGF7FD0Y5A,2851
|
41
44
|
rbx/box/presets/__init__.py,sha256=BwmjBw8wF8yiZFjCYBjMk-HGMZaRwhlfszbWAj3B0vw,18689
|
42
45
|
rbx/box/presets/fetch.py,sha256=F-BCOlvEBEyDqtOhiDuGPn4EDtA4Bwm-fqHJ7zZGlW8,1975
|
43
46
|
rbx/box/presets/lock_schema.py,sha256=6sRPnyePOC8yy-5WcD5JRZdDJHf8loqbvpQ1IPiOU9s,349
|
@@ -46,7 +49,7 @@ rbx/box/retries.py,sha256=tRk2K1bXw2xnwkAj2CsktRHTEhw7YKcPxMQTT6mCy-E,4707
|
|
46
49
|
rbx/box/sanitizers/warning_stack.py,sha256=RI97_GJgdjTKIXY_r0EKp5h0qQQSDSdNDh5K7zINrqs,2861
|
47
50
|
rbx/box/schema.py,sha256=tOQ1tLHqc_5V-UgrzM44aS8ULAkq-IkeErxjLCFVA8I,16778
|
48
51
|
rbx/box/setter_config.py,sha256=s53talhwM6FTGDCcBhY7IlZ6_6mJ3PMp6V4kTtaSs50,4262
|
49
|
-
rbx/box/solutions.py,sha256=
|
52
|
+
rbx/box/solutions.py,sha256=zv6jYdJG8cLFe0rNO3f7pgGYnXQaeECYXOo5CQ90VBs,44155
|
50
53
|
rbx/box/solutions_test.py,sha256=TCowbxBG3SvDlFO5-qtBj_M_HrAHe0IJaI1XwoQ1d00,1718
|
51
54
|
rbx/box/state.py,sha256=MMf3DvfQji0jKEliCHct2Tpp_0epL1tvP8HbHNArQIc,166
|
52
55
|
rbx/box/statements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -62,15 +65,15 @@ rbx/box/stressing/finder_parser.py,sha256=jXpYNa4FyugzmHi3r96Uv4rU1krRQJc5Ihr9jf
|
|
62
65
|
rbx/box/stressing/generator_parser.py,sha256=oHZryjR3YohgaSO9WEirQ7b2e-98WgZStF0N99W4Thw,7380
|
63
66
|
rbx/box/tasks.py,sha256=oyWtgZvIEIkVV6e-GcJx7x8Z3T5tIDFBZbp0638sLeY,10036
|
64
67
|
rbx/box/testcase_extractors.py,sha256=T5vCW5qERlqitGrFP6RuITEVr9o8XQozNa4AsxfuV_Y,11871
|
65
|
-
rbx/box/testcase_utils.py,sha256=
|
68
|
+
rbx/box/testcase_utils.py,sha256=31rvCpLi681R6Xm1WpG8HPDOkTtF0bRWa8IsmdWGLCk,7556
|
66
69
|
rbx/box/testcases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
67
|
-
rbx/box/testcases/main.py,sha256=
|
70
|
+
rbx/box/testcases/main.py,sha256=_I7h_obRcpNLRQ6dDJDIE5NAvTyn5nBOhdsBhRA_PvU,5442
|
68
71
|
rbx/box/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
69
72
|
rbx/box/ui/captured_log.py,sha256=ptICDPViVnz-_2NfrcB0SSBXNW5L74zI-vAZNN7kSok,11319
|
70
73
|
rbx/box/ui/css/app.tcss,sha256=apd5PkPEvl5jK3kE2qrxPyVED1VnvSsj08QQwzUPwEA,786
|
71
74
|
rbx/box/ui/main.py,sha256=b0rHcBF42W4AOCv7WhtiGf_rUnY0yxpqO5oj3wfR4R4,984
|
72
75
|
rbx/box/ui/run.py,sha256=wMEXrEFdQvMHz2hRKAFIithTnTtaL0kNQZu0jKmb8jI,7060
|
73
|
-
rbx/box/unit.py,sha256=
|
76
|
+
rbx/box/unit.py,sha256=PY96t8qnsHLsoJVanbDnrIx-s8Dada9Fj_v375MhvTw,6477
|
74
77
|
rbx/box/validators.py,sha256=oqlNhw7jivbbH5l8g3xwihPRy76AM7MA3G4A8nyI_V0,10416
|
75
78
|
rbx/box/validators_test.py,sha256=WY4Ho-wlsPHc0YNuz0KFVd6KQ9ouuiou3w5_zMOZ4Fs,362
|
76
79
|
rbx/checker.py,sha256=pj1jO3my48ru-qugbER5onccANCjoR0-PaFe3H3VGEY,4118
|
@@ -111,7 +114,7 @@ rbx/resources/default_setter_config.mac.yml,sha256=i28xwAUDg-kuxx19knCiYkh-NR7Qe
|
|
111
114
|
rbx/resources/default_setter_config.yml,sha256=oy6fbuQyYaJS2Cw2zcbYcBBGt6138CyB3-bLl45_QqY,1000
|
112
115
|
rbx/resources/envs/default.rbx.yml,sha256=8gl4DXc5mVISx__1libPQfmuHYdW32xjysfqpNESIAo,853
|
113
116
|
rbx/resources/envs/isolate.rbx.yml,sha256=VZAJ-Mu-A5Rt4m0VtMygOXA7eLLvCCmoorv_0acDmXQ,870
|
114
|
-
rbx/resources/packagers/boca/checker.sh,sha256=
|
117
|
+
rbx/resources/packagers/boca/checker.sh,sha256=q34ZS2clnctOj_8XPUxUGc-qm0kGgUG9ThDm-WZRz3I,1196
|
115
118
|
rbx/resources/packagers/boca/compare.sh,sha256=a6AmQqwrIq616DHjp_S2l95wO7UiMVy0LQ9EajZKDDk,1201
|
116
119
|
rbx/resources/packagers/boca/compile/c,sha256=lHLvxzkG_he5jmxWrix0WT80ipMWWUZdOgOQMSpj8oo,4507
|
117
120
|
rbx/resources/packagers/boca/compile/cc,sha256=B_18QkUGcjUg6yrTFlTQuMWnHpTWUKPZmFuk7Y0l1VA,4561
|
@@ -176,6 +179,7 @@ rbx/resources/presets/default/problem/tests/samples/000.in,sha256=w66OEtCJGqjUNj
|
|
176
179
|
rbx/resources/presets/default/problem/tests/samples/001.in,sha256=P4QInDX87xXoDWu4PVIzUeNW5LtTlUKbMCvJ9uZOPGw,20
|
177
180
|
rbx/resources/presets/default/problem/validator.cpp,sha256=VwZZUVq8GZHB07eOb6AoQirrYttPfTpF6P5m6I9nsLI,333
|
178
181
|
rbx/resources/presets/default/problem/wcmp.cpp,sha256=gbjJe3Vf9-YzHCEqBUq30aI3jMZXhqBDn3jjecYOn-w,902
|
182
|
+
rbx/resources/templates/rbx.h,sha256=7v-dm4cwP6trsJR-Ixk3_JNfaG1dwM_Lm8FcVPaA0YA,2180
|
179
183
|
rbx/resources/templates/template.cpp,sha256=xXWpWo7fa7HfmPNqkmHcmv3i46Wm0ZL-gPmkRfGvLn4,317
|
180
184
|
rbx/run.py,sha256=8WsEAdj7FwYSc9itfJ977n5HN5CYN63T__HRYI6IB1A,1515
|
181
185
|
rbx/schema.py,sha256=qcxuuxUJ0KwHR03CEYvdoP1SYW7yes3QyuI_0lnVMl0,1494
|
@@ -188,8 +192,8 @@ rbx/testcase.py,sha256=yKOq3CAJZ1YTmInvnoIs0u1iJnRj_X85XiWbLI-p9d8,1951
|
|
188
192
|
rbx/testcase_rendering.py,sha256=nfmv6dSEqd4aR3TsaODwkKGK6AXty_DDKtWf_ejiQpI,2084
|
189
193
|
rbx/testing_utils.py,sha256=ZXMysGXpTtvS1lfLL38FuD5iSIyxi3ARjQePDrUmEtc,2067
|
190
194
|
rbx/utils.py,sha256=6e1eXRzNE-52D0UVtqclePxqR4Haiqt8qWCrSVjnGuE,4585
|
191
|
-
rbx_cp-0.5.
|
192
|
-
rbx_cp-0.5.
|
193
|
-
rbx_cp-0.5.
|
194
|
-
rbx_cp-0.5.
|
195
|
-
rbx_cp-0.5.
|
195
|
+
rbx_cp-0.5.51.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
196
|
+
rbx_cp-0.5.51.dist-info/METADATA,sha256=wALvGgPfDA7gajXxA98TcHv67w54c_zWxRH7uXIMo_4,3261
|
197
|
+
rbx_cp-0.5.51.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
198
|
+
rbx_cp-0.5.51.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
|
199
|
+
rbx_cp-0.5.51.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|