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.
Files changed (230) hide show
  1. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/PKG-INFO +1 -1
  2. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/pyproject.toml +1 -1
  3. rbx_cp-0.18.2/rbx/__version__.py +1 -0
  4. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/build_contest_statements.py +5 -3
  5. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/environment.py +8 -1
  6. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/package.py +9 -5
  7. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/env.rbx.yml +1 -1
  8. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/preset.rbx.yml +1 -1
  9. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/problem.rbx.yml +7 -7
  10. rbx_cp-0.18.0/rbx/__version__.py +0 -1
  11. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/LICENSE +0 -0
  12. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/README.md +0 -0
  13. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/__init__.py +0 -0
  14. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/annotations.py +0 -0
  15. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/autoenum.py +0 -0
  16. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/__init__.py +0 -0
  17. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/builder.py +0 -0
  18. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/cd.py +0 -0
  19. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/checkers.py +0 -0
  20. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/cli.py +0 -0
  21. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/code.py +0 -0
  22. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/compile.py +0 -0
  23. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/__init__.py +0 -0
  24. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/contest_package.py +0 -0
  25. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/contest_utils.py +0 -0
  26. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/main.py +0 -0
  27. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/schema.py +0 -0
  28. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/contest/statements.py +0 -0
  29. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/creation.py +0 -0
  30. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/deferred.py +0 -0
  31. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/download.py +0 -0
  32. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/dump_schemas.py +0 -0
  33. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/extensions.py +0 -0
  34. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/fields.py +0 -0
  35. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/formatting.py +0 -0
  36. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/generators.py +0 -0
  37. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/git_utils.py +0 -0
  38. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/global_package.py +0 -0
  39. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/header.py +0 -0
  40. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/lang.py +0 -0
  41. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/lazy_importing_main.py +0 -0
  42. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/limits_info.py +0 -0
  43. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/linting.py +0 -0
  44. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/main.py +0 -0
  45. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/naming.py +0 -0
  46. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/__init__.py +0 -0
  47. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/boca/__init__.py +0 -0
  48. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/boca/boca_language_utils.py +0 -0
  49. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/boca/boca_outcome_utils.py +0 -0
  50. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/boca/extension.py +0 -0
  51. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/boca/packager.py +0 -0
  52. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/contest_main.py +0 -0
  53. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/importer.py +0 -0
  54. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/main.py +0 -0
  55. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/moj/packager.py +0 -0
  56. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/packager.py +0 -0
  57. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/pkg/packager.py +0 -0
  58. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/importer.py +0 -0
  59. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/packager.py +0 -0
  60. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/polygon_api.py +0 -0
  61. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/test.py +0 -0
  62. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/upload.py +0 -0
  63. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/packaging/polygon/xml_schema.py +0 -0
  64. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/presets/__init__.py +0 -0
  65. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/presets/fetch.py +0 -0
  66. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/presets/lock_schema.py +0 -0
  67. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/presets/schema.py +0 -0
  68. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/remote.py +0 -0
  69. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/retries.py +0 -0
  70. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/sanitizers/issue_stack.py +0 -0
  71. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/sanitizers/warning_stack.py +0 -0
  72. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/schema.py +0 -0
  73. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/setter_config.py +0 -0
  74. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/solutions.py +0 -0
  75. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/state.py +0 -0
  76. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/__init__.py +0 -0
  77. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/build_statements.py +0 -0
  78. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/builders.py +0 -0
  79. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/expander.py +0 -0
  80. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/joiners.py +0 -0
  81. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/latex.py +0 -0
  82. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/latex_jinja.py +0 -0
  83. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/statements/schema.py +0 -0
  84. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/stats.py +0 -0
  85. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/stresses.py +0 -0
  86. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/stressing/__init__.py +0 -0
  87. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/stressing/finder_parser.py +0 -0
  88. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/stressing/generator_parser.py +0 -0
  89. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tasks.py +0 -0
  90. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testcase_extractors.py +0 -0
  91. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testcase_utils.py +0 -0
  92. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testcases/__init__.py +0 -0
  93. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testcases/main.py +0 -0
  94. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testing/__init__.py +0 -0
  95. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testing/testing_package.py +0 -0
  96. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testing/testing_preset.py +0 -0
  97. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/testing/testing_shared.py +0 -0
  98. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/timing.py +0 -0
  99. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/__init__.py +0 -0
  100. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/__init__.py +0 -0
  101. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/debug_utils.py +0 -0
  102. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/main.py +0 -0
  103. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/manual_scrape.py +0 -0
  104. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/scrape.py +0 -0
  105. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/boca/scraper.py +0 -0
  106. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/converter.py +0 -0
  107. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/tooling/main.py +0 -0
  108. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/__init__.py +0 -0
  109. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/captured_log.py +0 -0
  110. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/css/app.tcss +0 -0
  111. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/main.py +0 -0
  112. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/__init__.py +0 -0
  113. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/build.py +0 -0
  114. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/command.py +0 -0
  115. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/differ.py +0 -0
  116. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/error.py +0 -0
  117. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/rich_log_modal.py +0 -0
  118. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/run.py +0 -0
  119. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/run_explorer.py +0 -0
  120. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/run_test_explorer.py +0 -0
  121. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/selector.py +0 -0
  122. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/screens/test_explorer.py +0 -0
  123. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/utils/__init__.py +0 -0
  124. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/utils/run_ui.py +0 -0
  125. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/__init__.py +0 -0
  126. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/diff_box.py +0 -0
  127. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/file_log.py +0 -0
  128. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/interaction_box.py +0 -0
  129. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/rich_log_box.py +0 -0
  130. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/test_output_box.py +0 -0
  131. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/ui/widgets/two_sided_test_output_box.py +0 -0
  132. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/unit.py +0 -0
  133. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/box/validators.py +0 -0
  134. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/config.py +0 -0
  135. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/console.py +0 -0
  136. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/__init__.py +0 -0
  137. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/caching.py +0 -0
  138. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/debug_context.py +0 -0
  139. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/grading_context.py +0 -0
  140. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/__init__.py +0 -0
  141. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/cacher.py +0 -0
  142. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/digester.py +0 -0
  143. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/program.py +0 -0
  144. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/sandbox.py +0 -0
  145. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/sandboxes/__init__.py +0 -0
  146. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/sandboxes/stupid_sandbox.py +0 -0
  147. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/sandboxes/tee.py +0 -0
  148. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/judge/storage.py +0 -0
  149. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/limits.py +0 -0
  150. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/profiling.py +0 -0
  151. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/steps.py +0 -0
  152. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/grading/steps_with_caching.py +0 -0
  153. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/checkers/boilerplate.cpp +0 -0
  154. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/checkers/noop.cpp +0 -0
  155. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/default_config.json +0 -0
  156. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/default_setter_config.mac.yml +0 -0
  157. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/default_setter_config.yml +0 -0
  158. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/envs/default.rbx.yml +0 -0
  159. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/checker.sh +0 -0
  160. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compare.sh +0 -0
  161. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/c +0 -0
  162. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/cc +0 -0
  163. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/cpp +0 -0
  164. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/java +0 -0
  165. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/kt +0 -0
  166. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/py2 +0 -0
  167. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/compile/py3 +0 -0
  168. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/c +0 -0
  169. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/cc +0 -0
  170. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/cpp +0 -0
  171. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/java +0 -0
  172. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/kt +0 -0
  173. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/py2 +0 -0
  174. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactive/py3 +0 -0
  175. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactor_compile.sh +0 -0
  176. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/interactor_run.sh +0 -0
  177. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/bkp +0 -0
  178. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/c +0 -0
  179. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/cc +0 -0
  180. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/cpp +0 -0
  181. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/java +0 -0
  182. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/kt +0 -0
  183. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/py2 +0 -0
  184. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/run/py3 +0 -0
  185. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/safeexec.c +0 -0
  186. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/boca/safeexec_compile.sh +0 -0
  187. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/c/compile.sh +0 -0
  188. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/c/prep.sh +0 -0
  189. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/c/run.sh +0 -0
  190. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/compare.sh +0 -0
  191. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/cpp/compile.sh +0 -0
  192. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/cpp/prep.sh +0 -0
  193. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/cpp/run.sh +0 -0
  194. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/interactor_prep.sh +0 -0
  195. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/interactor_run.sh +0 -0
  196. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/java/compile.sh +0 -0
  197. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/java/prep.sh +0 -0
  198. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/java/run.sh +0 -0
  199. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py2/compile.sh +0 -0
  200. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py2/prep.sh +0 -0
  201. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py2/run.sh +0 -0
  202. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py3/compile.sh +0 -0
  203. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py3/prep.sh +0 -0
  204. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/packagers/moj/scripts/py3/run.sh +0 -0
  205. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/.gitignore +0 -0
  206. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/contest.rbx.yml +0 -0
  207. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/contest.rbx.tex +0 -0
  208. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/info.rbx.tex +0 -0
  209. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/instructions.tex +0 -0
  210. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/contest/statement/logo.png +0 -0
  211. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/.gitignore +0 -0
  212. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/gens/gen.cpp +0 -0
  213. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/manual_tests/samples/000.in +0 -0
  214. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/manual_tests/samples/001.in +0 -0
  215. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/rbx.h +0 -0
  216. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/sols/main.cpp +0 -0
  217. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/sols/wa-overflow.cpp +0 -0
  218. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/statement/statement.rbx.tex +0 -0
  219. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/testlib.h +0 -0
  220. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/testplan/random.py +0 -0
  221. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/testplan/random.txt +0 -0
  222. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/validator.cpp +0 -0
  223. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/problem/wcmp.cpp +0 -0
  224. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/shared/contest_template.rbx.tex +0 -0
  225. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/shared/icpc.sty +0 -0
  226. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/presets/default/shared/problem_template.rbx.tex +0 -0
  227. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/templates/rbx.h +0 -0
  228. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/resources/templates/template.cpp +0 -0
  229. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/testing_utils.py +0 -0
  230. {rbx_cp-0.18.0 → rbx_cp-0.18.2}/rbx/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rbx.cp
3
- Version: 0.18.0
3
+ Version: 0.18.2
4
4
  Summary:
5
5
  Author: Roberto Sales
6
6
  Requires-Python: >=3.9.1,<4.0.0
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "rbx.cp"
3
- version = "0.18.0"
3
+ version = "0.18.2"
4
4
  description = ""
5
5
  packages = [
6
6
  {include = "rbx"}
@@ -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(contest, 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 get_language_by_extension(extension: str) -> EnvironmentLanguage:
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
- add_solution(
358
- Solution.model_copy(
359
- entry, update={'path': relative_file}, deep=True
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
@@ -73,5 +73,5 @@ extensions:
73
73
  languages: ["c", "cpp", "java", "py3", "kt"]
74
74
  flags:
75
75
  c: "-O2 -lm -static"
76
- cc: "-std=c++20 -O2 -lm -static"
76
+ cpp: "-std=c++20 -O2 -lm -static"
77
77
  preferContestLetter: true
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  # yaml-language-server: $schema=https://rsalesc.github.io/rbx/schemas/Preset.json
3
3
  name: "default"
4
- min_version: "0.18.0"
4
+ min_version: "0.18.2"
5
5
  uri: "rsalesc/rbx/rbx/resources/presets/default"
6
6
  problem: "problem"
7
7
  contest: "contest"
@@ -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.cpp"
20
+ - path: "sols/main*.*"
21
21
  outcome: "ACCEPTED"
22
- - path: "sols/ac-*.cpp"
22
+ - path: "sols/ac-*.*"
23
23
  outcome: "ACCEPTED"
24
- - path: "sols/wa-*.cpp"
24
+ - path: "sols/wa-*.*"
25
25
  outcome: "WRONG_ANSWER"
26
- - path: "sols/tle-*.cpp"
26
+ - path: "sols/tle-*.*"
27
27
  outcome: "TIME_LIMIT_EXCEEDED"
28
- - path: "sols/mle-*.cpp"
28
+ - path: "sols/mle-*.*"
29
29
  outcome: "MEMORY_LIMIT_EXCEEDED"
30
- - path: "sols/re-*.cpp"
30
+ - path: "sols/re-*.*"
31
31
  outcome: "RUNTIME_ERROR"
32
- - path: "sols/fail-*.cpp"
32
+ - path: "sols/fail-*.*"
33
33
  outcome: "INCORRECT"
34
34
  statements:
35
35
  - name: "statement-en"
@@ -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