rbx.cp 0.16.2__py3-none-any.whl → 0.16.4__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/__version__.py CHANGED
@@ -1 +1 @@
1
- __version__ = '0.16.2'
1
+ __version__ = '0.16.4'
rbx/box/cli.py CHANGED
@@ -109,9 +109,7 @@ app.add_typer(
109
109
 
110
110
  def version_callback(value: bool) -> None:
111
111
  if value:
112
- import importlib.metadata
113
-
114
- version = importlib.metadata.version('rbx.cp')
112
+ version = utils.get_version()
115
113
 
116
114
  console.console.print(f'rbx version {version}')
117
115
  raise typer.Exit()
@@ -1,7 +1,7 @@
1
1
  import pathlib
2
2
  import shutil
3
3
  from math import fabs
4
- from typing import List
4
+ from typing import List, Optional
5
5
 
6
6
  import typer
7
7
 
@@ -29,19 +29,21 @@ class BocaPackager(BasePackager):
29
29
  def task_types(cls) -> List[TaskType]:
30
30
  return [TaskType.BATCH, TaskType.COMMUNICATION]
31
31
 
32
- def _get_main_statement(self) -> Statement:
32
+ def _get_main_statement(self) -> Optional[Statement]:
33
33
  pkg = package.find_problem_package_or_die()
34
34
 
35
35
  if not pkg.expanded_statements:
36
- console.console.print('[error]No statements found.[/error]')
37
- raise typer.Exit(1)
36
+ return None
38
37
 
39
38
  return pkg.expanded_statements[0]
40
39
 
41
40
  def _get_main_built_statement(
42
41
  self, built_statements: List[BuiltStatement]
43
- ) -> BuiltStatement:
42
+ ) -> Optional[BuiltStatement]:
44
43
  statement = self._get_main_statement()
44
+ if statement is None:
45
+ return None
46
+
45
47
  for built_statement in built_statements:
46
48
  if built_statement.statement == statement:
47
49
  return built_statement
@@ -322,13 +324,15 @@ class BocaPackager(BasePackager):
322
324
  (tests_path / language).write_text('exit 0\n')
323
325
 
324
326
  # Problem statement
325
- description_path = into_path / 'description'
326
- description_path.mkdir(parents=True, exist_ok=True)
327
- (description_path / 'problem.info').write_text(self._get_problem_info())
328
- shutil.copyfile(
329
- self._get_main_built_statement(built_statements).path,
330
- (description_path / self._get_problem_basename()).with_suffix('.pdf'),
331
- )
327
+ main_built_statement = self._get_main_built_statement(built_statements)
328
+ if main_built_statement is not None:
329
+ description_path = into_path / 'description'
330
+ description_path.mkdir(parents=True, exist_ok=True)
331
+ (description_path / 'problem.info').write_text(self._get_problem_info())
332
+ shutil.copyfile(
333
+ self._get_main_built_statement(built_statements).path,
334
+ (description_path / self._get_problem_basename()).with_suffix('.pdf'),
335
+ )
332
336
 
333
337
  # Copy solutions
334
338
  solutions_path = into_path / 'solutions'
rbx/box/packaging/main.py CHANGED
@@ -26,7 +26,8 @@ async def polygon(
26
26
  None,
27
27
  '--language',
28
28
  '-l',
29
- help='If set, will use the given language as the main language.',
29
+ help='If set, will use the given language as the main language. '
30
+ 'Leave unset if your problem has no statements.',
30
31
  ),
31
32
  upload_as_english: bool = typer.Option(
32
33
  False,
rbx/box/presets/fetch.py CHANGED
@@ -4,6 +4,9 @@ from typing import Optional
4
4
 
5
5
  from pydantic import BaseModel
6
6
 
7
+ from rbx import utils
8
+ from rbx.box import git_utils
9
+
7
10
  _RBX_REMOTE_URI = 'https://github.com/rsalesc/rbx'
8
11
 
9
12
 
@@ -86,8 +89,10 @@ def get_preset_fetch_info(uri: Optional[str]) -> Optional[PresetFetchInfo]:
86
89
  match = compiled.match(s)
87
90
  if match is None:
88
91
  return None
89
- # Treat as a plain local preset name (no implicit tool tag resolution).
90
- return PresetFetchInfo(name=s)
92
+ tool_tag = git_utils.latest_remote_tag(
93
+ _RBX_REMOTE_URI, before=utils.get_version()
94
+ )
95
+ return PresetFetchInfo(name=s, tool_tag=tool_tag)
91
96
 
92
97
  extractors = [
93
98
  get_github_fetch_info,
@@ -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.16.2"
4
+ min_version: "0.16.4"
5
5
  uri: "rsalesc/rbx/rbx/resources/presets/default"
6
6
  problem: "problem"
7
7
  contest: "contest"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rbx.cp
3
- Version: 0.16.2
3
+ Version: 0.16.4
4
4
  Summary:
5
5
  Author: Roberto Sales
6
6
  Requires-Python: >=3.9.1,<4.0.0
@@ -1,12 +1,12 @@
1
1
  rbx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- rbx/__version__.py,sha256=zA3Is963yicS_tJKC2SjI8Arr1-HiEa3ICYj1uj8QJ0,23
2
+ rbx/__version__.py,sha256=9ZYMANsHpUpRueGC3gdnVjGvLseEK8ywMOkZEQU44Gg,23
3
3
  rbx/annotations.py,sha256=_TkLhgZWiUyon3bonHwUo03ls1jY8LwgcR4bVgtgnc0,3519
4
4
  rbx/autoenum.py,sha256=cusv8ClXRlDVvhZ8eDrtYcL_2peXlHugAey_ht8roXk,12025
5
5
  rbx/box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  rbx/box/builder.py,sha256=umrTdVAwvsOosBDVvDZ6kq1yWg3Z2Lxp2o1zK-V7BBk,3594
7
7
  rbx/box/cd.py,sha256=_XAzb3kV1NUaaRs8hc9SGDo10O1yh2_gr1EiAKzfUjI,2711
8
8
  rbx/box/checkers.py,sha256=mRovZyTZdySFEaYFVc3Lc-xgEsu6F9FjVPOxDwub7aY,13226
9
- rbx/box/cli.py,sha256=ybtCWnH0uYhUe95s6ZhBGoPmanMMleaTaWB78tA3kag,29773
9
+ rbx/box/cli.py,sha256=grWUlz5jpcwF2y4eqYBGurOpu4KlB8mRvvs7C92cWAs,29721
10
10
  rbx/box/code.py,sha256=TWF-o8fTh5nAtndKuO9Ti7KL-Ye6mkOoUnRzS4POrfw,25524
11
11
  rbx/box/compile.py,sha256=Kzn5mEQu4vb91W9vjyt0DS6cfPJzFLTUoowFj7uHLUo,2539
12
12
  rbx/box/contest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -40,10 +40,10 @@ rbx/box/packaging/boca/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
40
40
  rbx/box/packaging/boca/boca_language_utils.py,sha256=bd5-KxN-0h6yg74Jx3NUsgwf_euBU95zC2GLw0MAFS4,1071
41
41
  rbx/box/packaging/boca/boca_outcome_utils.py,sha256=MhO7aKTJ1weCgSJBA9MF_ejK3HFBFwC5dIsiR4wA1Mw,310
42
42
  rbx/box/packaging/boca/extension.py,sha256=EQALNEOv4zVDXSKs_dk11n92y7cBZVn8TogIK683lE0,890
43
- rbx/box/packaging/boca/packager.py,sha256=31fwscJR0JZTr-55i070fOpb6lAXtEGu50xWFTC2U4o,13746
43
+ rbx/box/packaging/boca/packager.py,sha256=W-qCyIe8ZFxtZ-yYPKVVV7ayszIfpL_ZYrmow11fgvA,13903
44
44
  rbx/box/packaging/contest_main.py,sha256=G3CO4RILxGbUhyLsTdeDqPXEJ3sK2pSH9X8piqU61FQ,4486
45
45
  rbx/box/packaging/importer.py,sha256=qcKpDQyf6EvYXorofLs5abteBEWV9AezA8tcihCw5wk,909
46
- rbx/box/packaging/main.py,sha256=hP4UEKjLowRHBzttGKWx0UMAw8_8lVAAhQ9I9Y3khXA,2724
46
+ rbx/box/packaging/main.py,sha256=GRTP7_Ao-8I5F0GrLTAXSOwYbh1DYP_cLPm5jUMKN0U,2782
47
47
  rbx/box/packaging/moj/packager.py,sha256=FjghOe5CPlaF1GqK0NZgWVV_eYWpdTmz88bh04yeAyI,8708
48
48
  rbx/box/packaging/packager.py,sha256=2a2yldbVZzEQLoQnfGc8fHDHasFRdLUwAGlQuxudLBs,7324
49
49
  rbx/box/packaging/pkg/packager.py,sha256=4pt4cZa_MU9gsWNVvh5Um1KEIh_axBHlXmPf6rpFoHg,4904
@@ -54,7 +54,7 @@ rbx/box/packaging/polygon/test.py,sha256=bgEju5PwudgyfwxXJagm8fM6CJVlWM6l_-2q1V-
54
54
  rbx/box/packaging/polygon/upload.py,sha256=w7F0ejfEwhXrAyKADkA2FGuOfTCq96nMNi1YJNRyrtU,13801
55
55
  rbx/box/packaging/polygon/xml_schema.py,sha256=UbGtW5-SKN3wK952-eoTvcIDVoO0et10IA9bTb7jV8Y,3210
56
56
  rbx/box/presets/__init__.py,sha256=YusqU2ewwq3R1MqIXRM2N-i3uFX6s8m8PDbFJDr4zyg,37451
57
- rbx/box/presets/fetch.py,sha256=IgnRm1KGTQRsSzbXBaCK_J_qs52Yiddz-1YSiOrw-yo,3012
57
+ rbx/box/presets/fetch.py,sha256=aom7f5atJ5Vy5Ox7k0aF8FDVMIeTjF0IRCkP_nrt6Ms,3118
58
58
  rbx/box/presets/lock_schema.py,sha256=8PKL7UMX4dkdVpCPLwYtaNIIrZpAfHGvTfnF8bRFedM,1708
59
59
  rbx/box/presets/schema.py,sha256=5Nw72QrSsA39cUCCLlVfSYMImK_-TfJEGu5TSIDv3W8,2918
60
60
  rbx/box/remote.py,sha256=hCdiZSmh6Y1vnSEwLZ_gtAMYV-WLVlU3iVnvcObRpRc,5274
@@ -201,7 +201,7 @@ rbx/resources/presets/default/contest/statement/info.rbx.tex,sha256=Wz8Tbmi2lPWM
201
201
  rbx/resources/presets/default/contest/statement/instructions.tex,sha256=JG_eR13ukZgEahrrmrbg40H8cUzpoUE8QLocihN-fZ8,2414
202
202
  rbx/resources/presets/default/contest/statement/logo.png,sha256=RLNYmZoc-BR6AZKkmr4UEg3h01YeFzvy604jMAQC7aA,414485
203
203
  rbx/resources/presets/default/env.rbx.yml,sha256=quSPG5Xs9KroYLATNLPNtORLGRWtrLLt2Fx81T1enAM,1692
204
- rbx/resources/presets/default/preset.rbx.yml,sha256=xGZuTSzEHsXJUSmJLBTw3-VuX-0gw0pIdyIuTEHK56E,520
204
+ rbx/resources/presets/default/preset.rbx.yml,sha256=Fq2dBpQzcNEVZcES3ThbQadyyGb3WEMkxK6Mggttg7Q,520
205
205
  rbx/resources/presets/default/problem/.gitignore,sha256=1rt95y9Q7ZHIQn28JyZQUdD5zkpRosjAl9ZqoQmX2cE,149
206
206
  rbx/resources/presets/default/problem/gens/gen.cpp,sha256=rn6sGRjZ1sFE1Rq02r6488iquY9xTrutcvLv4d1sohA,178
207
207
  rbx/resources/presets/default/problem/manual_tests/samples/000.in,sha256=w66OEtCJGqjUNj8cJrqgImgGVm8W_OlIUtF255ds-ow,4
@@ -223,8 +223,8 @@ rbx/resources/templates/rbx.h,sha256=0AZds9R0PmuPgnlTENb33Y81LW0LlnmOJFaoN8oG3Yo
223
223
  rbx/resources/templates/template.cpp,sha256=xXWpWo7fa7HfmPNqkmHcmv3i46Wm0ZL-gPmkRfGvLn4,317
224
224
  rbx/testing_utils.py,sha256=vNNdaytowJfuopszVHeFzVtHWlPfipPW4zpqCOvdZKU,2908
225
225
  rbx/utils.py,sha256=AUIknhhED-ZIp6w-VcfPkaG1cYjQkovlX5WCvbVLNHg,9930
226
- rbx_cp-0.16.2.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
227
- rbx_cp-0.16.2.dist-info/METADATA,sha256=GthHjKApkHasCi0iCMj5iullxXBaazX6FC-RJSO6WvE,4799
228
- rbx_cp-0.16.2.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
229
- rbx_cp-0.16.2.dist-info/entry_points.txt,sha256=Gw2_BZ5Jon61biaH_ETbAQGXy8fR5On9gw2U4A1erpo,40
230
- rbx_cp-0.16.2.dist-info/RECORD,,
226
+ rbx_cp-0.16.4.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
227
+ rbx_cp-0.16.4.dist-info/METADATA,sha256=I7CFir9kxAZ--hAobuDQLIiFqd7l-xAkxLuzf_MTrNw,4799
228
+ rbx_cp-0.16.4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
229
+ rbx_cp-0.16.4.dist-info/entry_points.txt,sha256=Gw2_BZ5Jon61biaH_ETbAQGXy8fR5On9gw2U4A1erpo,40
230
+ rbx_cp-0.16.4.dist-info/RECORD,,