rbx.cp 0.5.68__py3-none-any.whl → 0.5.70__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/main.py CHANGED
@@ -78,6 +78,11 @@ async def polygon(
78
78
  '-u',
79
79
  help='If set, will upload the package to Polygon.',
80
80
  ),
81
+ preserve_language: bool = typer.Option(
82
+ False,
83
+ '--preserve-language',
84
+ help='If set, will preserve the original language of the statement.',
85
+ ),
81
86
  ):
82
87
  from rbx.box.packaging.polygon.packager import PolygonPackager
83
88
 
@@ -86,7 +91,10 @@ async def polygon(
86
91
  if upload:
87
92
  from rbx.box.packaging.polygon.upload import upload_problem
88
93
 
89
- await upload_problem(name=get_problem_name_with_contest_info())
94
+ await upload_problem(
95
+ name=get_problem_name_with_contest_info(),
96
+ preserve_language=preserve_language,
97
+ )
90
98
 
91
99
 
92
100
  @app.command('boca', help='Build a package for BOCA.')
@@ -286,7 +286,7 @@ def _upload_statement_resources(problem: api.Problem, statement: Statement):
286
286
  )
287
287
 
288
288
 
289
- def _upload_statement(problem: api.Problem):
289
+ def _upload_statement(problem: api.Problem, preserve_language: bool = False):
290
290
  pkg = package.find_problem_package_or_die()
291
291
 
292
292
  languages = set()
@@ -300,9 +300,15 @@ def _upload_statement(problem: api.Problem):
300
300
  continue
301
301
  if statement.type != StatementType.rbxTeX:
302
302
  continue
303
+ statement_lang = code_to_langs([language])[0]
303
304
  console.console.print(
304
- f'Uploading statement for language [item]{language}[/item] (polygon language: [item]{code_to_langs([language])[0]}[/item])...'
305
+ f'Uploading statement for language [item]{language}[/item] (polygon language: [item]{statement_lang}[/item])...'
305
306
  )
307
+ if not preserve_language and statement_lang != 'english':
308
+ console.console.print(
309
+ '[warning]By default, Polygon statements are uploaded in English.\n'
310
+ 'If you want to preserve the original language of your statement, use [item]--preserve-language[/item].'
311
+ )
306
312
  blocks = _get_statement_blocks(statement)
307
313
  polygon_statement = api.Statement(
308
314
  encoding='utf-8',
@@ -316,7 +322,8 @@ def _upload_statement(problem: api.Problem):
316
322
  notes=_get_notes_with_explanations(blocks) or '',
317
323
  )
318
324
  problem.save_statement(
319
- lang=code_to_langs([language])[0], problem_statement=polygon_statement
325
+ lang=statement_lang if preserve_language else 'english',
326
+ problem_statement=polygon_statement,
320
327
  )
321
328
 
322
329
  _upload_statement_resources(problem, statement)
@@ -326,7 +333,7 @@ def _normalize_problem_name(name: str) -> str:
326
333
  return name.replace(' ', '-').replace('_', '-').lower()
327
334
 
328
335
 
329
- async def upload_problem(name: str):
336
+ async def upload_problem(name: str, preserve_language: bool = False):
330
337
  pkg = package.find_problem_package_or_die()
331
338
  name = _normalize_problem_name(name)
332
339
  problem = _find_or_create_problem(name)
@@ -345,7 +352,7 @@ async def upload_problem(name: str):
345
352
 
346
353
  _upload_solutions(problem)
347
354
  _upload_testcases(problem)
348
- _upload_statement(problem)
355
+ _upload_statement(problem, preserve_language=preserve_language)
349
356
 
350
357
  # Commit.
351
358
  console.console.print('Committing changes...')
@@ -115,6 +115,12 @@ if [ -n "$(sed -n -E "/$regex/p" src/$name)" ]; then
115
115
  sed -i -E "s/$regex/public class Main\1/" src/Main.java
116
116
  fi
117
117
 
118
+ echo "Klass is $klass"
119
+
120
+ cat <<EOF >src/Manifest.txt
121
+ Main-Class: $klass
122
+ EOF
123
+
118
124
  cat <<EOF >compileit.sh
119
125
  #!/bin/bash
120
126
  javac=$(which javac)
@@ -140,7 +146,7 @@ find . -name "*.java" | while read lin; do
140
146
  echo \$? > ../compileit.retcode
141
147
  done
142
148
  rm -f ../$jarfile
143
- \$jar cvfe ../$jarfile \$klass *
149
+ \$jar cfm ../$jarfile Manifest.txt *
144
150
  exit 0
145
151
  EOF
146
152
  chmod 755 compileit.sh
@@ -182,6 +188,7 @@ fi
182
188
  if [ -f "stderr0" ]; then
183
189
  cat "stderr0"
184
190
  fi
191
+
185
192
  rm -rf src/
186
193
  if [ "$ret" != "0" ]; then
187
194
  echo "Compilation Error: $ret"
@@ -115,13 +115,13 @@ if [ ! -x "\$cc" ]; then
115
115
  exit 47
116
116
  fi
117
117
  cd src
118
- "\$cc" -m py_compile "$name"
119
- pyc_ret=\$?
120
- if [ "\$pyc_ret" != "0" ]; then
121
- echo "python syntax check failed: \$pyc_ret"
122
- echo \$pyc_ret > ../compileit.retcode
123
- exit 0
124
- fi
118
+ # "\$cc" -m py_compile "$name"
119
+ # pyc_ret=\$?
120
+ # if [ "\$pyc_ret" != "0" ]; then
121
+ # echo "python syntax check failed: \$pyc_ret"
122
+ # echo \$pyc_ret > ../compileit.retcode
123
+ # exit 0
124
+ # fi
125
125
 
126
126
  echo "#!/usr/bin/python2" | cat - "$name" > "../$exe"
127
127
  chmod 755 "../$exe"
@@ -115,13 +115,13 @@ if [ ! -x "\$cc" ]; then
115
115
  exit 47
116
116
  fi
117
117
  cd src
118
- "\$cc" -m py_compile "$name"
119
- pyc_ret=\$?
120
- if [ "\$pyc_ret" != "0" ]; then
121
- echo "python syntax check failed: \$pyc_ret"
122
- echo \$pyc_ret > ../compileit.retcode
123
- exit 0
124
- fi
118
+ # "\$cc" -m py_compile "$name"
119
+ # pyc_ret=\$?
120
+ # if [ "\$pyc_ret" != "0" ]; then
121
+ # echo "python syntax check failed: \$pyc_ret"
122
+ # echo \$pyc_ret > ../compileit.retcode
123
+ # exit 0
124
+ # fi
125
125
 
126
126
  echo "#!/usr/bin/python3" | cat - "$name" > "../$exe"
127
127
  chmod 755 "../$exe"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rbx.cp
3
- Version: 0.5.68
3
+ Version: 0.5.70
4
4
  Summary:
5
5
  Author: Roberto Sales
6
6
  Requires-Python: >=3.9,<4.0
@@ -36,13 +36,13 @@ rbx/box/packaging/boca/extension.py,sha256=EQALNEOv4zVDXSKs_dk11n92y7cBZVn8TogIK
36
36
  rbx/box/packaging/boca/packager.py,sha256=kiCcP9roRCiDU0Xr5PDKO83W1yN6cyg-EKMF9fxE0EY,11950
37
37
  rbx/box/packaging/boca/upload.py,sha256=_YSPlaz-E57dtt4mOFcTQB9UfyGWeXAW-mXg3YoDQn0,10795
38
38
  rbx/box/packaging/contest_main.py,sha256=UsRfIdNmOf0iLUbzgjxzyECfMuCQINstG1SCClGHaUQ,2808
39
- rbx/box/packaging/main.py,sha256=kLFcMz0xOTZgtJh6P0Rr-zfq0NCbvx7HiQQ_0YmsvGg,3826
39
+ rbx/box/packaging/main.py,sha256=NgFBoqkSRyOwA9srXoUwzrI0F6qxjsmjGAFZ-un8j0M,4073
40
40
  rbx/box/packaging/moj/packager.py,sha256=FjghOe5CPlaF1GqK0NZgWVV_eYWpdTmz88bh04yeAyI,8708
41
41
  rbx/box/packaging/packager.py,sha256=da2haC1L9cG30myneMrRIAdGubtid0Xmy38BHKPCZZ4,3633
42
42
  rbx/box/packaging/polygon/packager.py,sha256=GfZ-Dc2TDKkb3QNnfOy8yxldho2L401Ao06oWg--Gcs,11714
43
43
  rbx/box/packaging/polygon/polygon_api.py,sha256=mPKEqiwANJ1nr-JhOgzGMaDhnbljsAgzzPHW6kkf7R4,41016
44
44
  rbx/box/packaging/polygon/test.py,sha256=bgEju5PwudgyfwxXJagm8fM6CJVlWM6l_-2q1V-oKaQ,3069
45
- rbx/box/packaging/polygon/upload.py,sha256=UpZpVvbd0WO3y4MQdFdIwsHCu2dinfcXaIDB3smWanQ,11930
45
+ rbx/box/packaging/polygon/upload.py,sha256=s9AHYe_utRFL681AmDbSaoc-t0PD6TdrIhnoVGa-Xwc,12429
46
46
  rbx/box/packaging/polygon/xml_schema.py,sha256=ZgcLyvxggMUccbTNdzflue5G-FTN2_ZmOGGF7FD0Y5A,2851
47
47
  rbx/box/presets/__init__.py,sha256=9S7AyCop5aopr5U2ttXxOmvfBU0LHrgg5reyskfhbds,21316
48
48
  rbx/box/presets/fetch.py,sha256=900aq9S8e12TlgSenG0iHgtF4OWgqavZsptgI_a1YKM,2508
@@ -144,11 +144,11 @@ rbx/resources/packagers/boca/compare.sh,sha256=a6AmQqwrIq616DHjp_S2l95wO7UiMVy0L
144
144
  rbx/resources/packagers/boca/compile/c,sha256=lHLvxzkG_he5jmxWrix0WT80ipMWWUZdOgOQMSpj8oo,4507
145
145
  rbx/resources/packagers/boca/compile/cc,sha256=B_18QkUGcjUg6yrTFlTQuMWnHpTWUKPZmFuk7Y0l1VA,4561
146
146
  rbx/resources/packagers/boca/compile/cpp,sha256=_1pJTSC7uADu-IIdQCaZyMbH8x01wfgxcdZ36oxXncI,4496
147
- rbx/resources/packagers/boca/compile/java,sha256=8T5JYBignVPYOUQyjSUb9eVAVe0x9OsLP5HZDL636W4,5178
147
+ rbx/resources/packagers/boca/compile/java,sha256=vh3IeWzvPWrEX0n9AmAHFlpQrq7MX1feLhHfdBP7onU,5259
148
148
  rbx/resources/packagers/boca/compile/kt,sha256=3B900QSD4jSXnX91gJbvI4ZmNELHSiBb584Tmx7XtOc,4026
149
149
  rbx/resources/packagers/boca/compile/pas,sha256=C5IwZzmZpIos49FrLGafRbdGPODNJn7N5JbnLX_FT_4,4576
150
- rbx/resources/packagers/boca/compile/py2,sha256=mo-Ar-fzhinDlBOKUQ-0iovKVKX-69obDOe71KIIGTo,4725
151
- rbx/resources/packagers/boca/compile/py3,sha256=UOXeXKfdoR90wVEWIH9BvETyTOJmSmtpLoR5nJKTeXQ,4725
150
+ rbx/resources/packagers/boca/compile/py2,sha256=UJknN4xiKP8oMN8tRZ92tDlESXgBfRO69QfyUyjijvA,4739
151
+ rbx/resources/packagers/boca/compile/py3,sha256=L5Yzl_G5kTdmx7N7-oW3Dm_sq4uQJleRmFq84WNfZXo,4739
152
152
  rbx/resources/packagers/boca/interactive/c,sha256=7AgLVL8TO0vGgpAyNVC08ceG83-_yPO7BIPHGLTerck,5720
153
153
  rbx/resources/packagers/boca/interactive/cc,sha256=7AgLVL8TO0vGgpAyNVC08ceG83-_yPO7BIPHGLTerck,5720
154
154
  rbx/resources/packagers/boca/interactive/cpp,sha256=BdyAz61YV1ojQGTKOXJXrMfN9zA9r4X3NnCRb4vJIEE,5719
@@ -217,8 +217,8 @@ rbx/testcase.py,sha256=yKOq3CAJZ1YTmInvnoIs0u1iJnRj_X85XiWbLI-p9d8,1951
217
217
  rbx/testcase_rendering.py,sha256=nfmv6dSEqd4aR3TsaODwkKGK6AXty_DDKtWf_ejiQpI,2084
218
218
  rbx/testing_utils.py,sha256=x_PqD8Zd2PkN91NxVHUnSTs044-1WK5KKtttKQBXpFs,2083
219
219
  rbx/utils.py,sha256=SfR844_i0ebRDMkmS_w1YdZiWPc6h2RGADygewlWRbA,4845
220
- rbx_cp-0.5.68.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
221
- rbx_cp-0.5.68.dist-info/METADATA,sha256=ps9oerjMXMz79YewNRmYBQS-_V7_9g8x1SS_3VwnaKw,3604
222
- rbx_cp-0.5.68.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
223
- rbx_cp-0.5.68.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
224
- rbx_cp-0.5.68.dist-info/RECORD,,
220
+ rbx_cp-0.5.70.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
221
+ rbx_cp-0.5.70.dist-info/METADATA,sha256=4h9GZhPBUyAJtHvIxkHF7APS3MBxLi6XsbcaX7D3UPs,3604
222
+ rbx_cp-0.5.70.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
223
+ rbx_cp-0.5.70.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
224
+ rbx_cp-0.5.70.dist-info/RECORD,,