ssc_codegen 0.8.8__tar.gz → 0.8.9__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.
Potentially problematic release.
This version of ssc_codegen might be problematic. Click here for more details.
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/PKG-INFO +1 -1
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/pyproject.toml +1 -1
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/__init__.py +1 -1
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/js_pure.py +16 -9
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/.gitignore +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/LICENSE +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/README.md +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/_compat.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_/__init__.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_/base.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_/nodes_array.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_/nodes_cast.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_/nodes_core.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_/nodes_selectors.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_/nodes_string.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_/nodes_validate.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_build/__init__.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_build/main.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/ast_build/utils.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/cli/__init__.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/cli/cli_callbacks.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/cli/cli_utils.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/cli/code_callbacks.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/cli/consts.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/cli/main.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/cli/runtime_parse_runners.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/compiler.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/consts.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/__init__.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/base.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/go_goquery.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/helpers.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/py_base.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/py_bs4.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/py_parsel.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/py_selectolax.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/templates/__init__.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/templates/go_goquery.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/converters/templates/js_pure.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/document.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/document_utlis.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/json_struct.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/json_to_scc.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/logs.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/pseudo_selectors.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/schema.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/selector_utils.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/static_checker/__init__.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/static_checker/base.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/static_checker/callbacks.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/str_utils.py +0 -0
- {ssc_codegen-0.8.8 → ssc_codegen-0.8.9}/ssc_codegen/tokens.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ssc_codegen
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.9
|
|
4
4
|
Summary: Python-dsl code converter to html parser for web scraping
|
|
5
5
|
Project-URL: Documentation, https://github.com/vypivshiy/selector_schema_codegen#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/vypivshiy/selector_schema_codegen/issues
|
|
@@ -353,9 +353,10 @@ def pre_list_str_replace(node: ExprListStringReplace) -> str:
|
|
|
353
353
|
def pre_str_regex(node: ExprStringRegex) -> str:
|
|
354
354
|
prv, nxt = prev_next_var(node)
|
|
355
355
|
pattern, group, ignore_case = node.unpack_args()
|
|
356
|
-
pattern =
|
|
356
|
+
pattern = pattern.replace("/", "\\/")
|
|
357
|
+
pattern = f"/{pattern}/g"
|
|
357
358
|
if ignore_case:
|
|
358
|
-
|
|
359
|
+
pattern += "i"
|
|
359
360
|
return f"let {nxt} = (new RegExp({pattern})).exec({prv})[{group}];"
|
|
360
361
|
|
|
361
362
|
|
|
@@ -363,9 +364,10 @@ def pre_str_regex(node: ExprStringRegex) -> str:
|
|
|
363
364
|
def pre_str_regex_all(node: ExprStringRegexAll) -> str:
|
|
364
365
|
prv, nxt = prev_next_var(node)
|
|
365
366
|
pattern, ignore_case = node.unpack_args()
|
|
366
|
-
pattern =
|
|
367
|
+
pattern = pattern.replace("/", "\\/")
|
|
368
|
+
pattern = f"/{pattern}/g"
|
|
367
369
|
if ignore_case:
|
|
368
|
-
|
|
370
|
+
pattern += "i"
|
|
369
371
|
return f"let {nxt} = (new RegExp({pattern})).exec({prv});"
|
|
370
372
|
|
|
371
373
|
|
|
@@ -373,7 +375,8 @@ def pre_str_regex_all(node: ExprStringRegexAll) -> str:
|
|
|
373
375
|
def pre_str_regex_sub(node: ExprStringRegexSub) -> str:
|
|
374
376
|
prv, nxt = prev_next_var(node)
|
|
375
377
|
pattern, repl = node.unpack_args()
|
|
376
|
-
pattern =
|
|
378
|
+
pattern = pattern.replace("/", "\\/")
|
|
379
|
+
pattern = f"/{pattern}/g"
|
|
377
380
|
|
|
378
381
|
return f"let {nxt} = {prv}.replace({pattern}, {repl!r});"
|
|
379
382
|
|
|
@@ -382,7 +385,8 @@ def pre_str_regex_sub(node: ExprStringRegexSub) -> str:
|
|
|
382
385
|
def pre_list_str_regex_sub(node: ExprListStringRegexSub) -> str:
|
|
383
386
|
prv, nxt = prev_next_var(node)
|
|
384
387
|
pattern, repl = node.unpack_args()
|
|
385
|
-
pattern =
|
|
388
|
+
pattern = pattern.replace("/", "\\/")
|
|
389
|
+
pattern = f"/{pattern}/g"
|
|
386
390
|
return f"let {nxt} = {prv}.map(e => e.replace({pattern}, {repl!r}));"
|
|
387
391
|
|
|
388
392
|
|
|
@@ -448,7 +452,8 @@ def pre_is_contains(node: ExprIsContains) -> str:
|
|
|
448
452
|
def pre_is_regex(node: ExprStringIsRegex) -> str:
|
|
449
453
|
prv, nxt = prev_next_var(node)
|
|
450
454
|
pattern, ignore_case, msg = node.unpack_args()
|
|
451
|
-
pattern =
|
|
455
|
+
pattern = pattern.replace("/", "\\/")
|
|
456
|
+
pattern = f"/{pattern}/g"
|
|
452
457
|
if ignore_case:
|
|
453
458
|
pattern += "i"
|
|
454
459
|
|
|
@@ -464,7 +469,8 @@ def pre_list_str_any_is_regex(node: ExprListStringAnyRegex) -> str:
|
|
|
464
469
|
# a.some(i => (new RegExp("foo")).test(i))
|
|
465
470
|
prv, nxt = prev_next_var(node)
|
|
466
471
|
pattern, ignore_case, msg = node.unpack_args()
|
|
467
|
-
pattern =
|
|
472
|
+
pattern = pattern.replace("/", "\\/")
|
|
473
|
+
pattern = f"/{pattern}/g"
|
|
468
474
|
if ignore_case:
|
|
469
475
|
pattern += "i"
|
|
470
476
|
|
|
@@ -480,7 +486,8 @@ def pre_list_str_all_is_regex(node: ExprListStringAllRegex) -> str:
|
|
|
480
486
|
prv, nxt = prev_next_var(node)
|
|
481
487
|
# a.every(i => (new RegExp("foo")).test)
|
|
482
488
|
pattern, ignore_case, msg = node.unpack_args()
|
|
483
|
-
pattern =
|
|
489
|
+
pattern = pattern.replace("/", "\\/")
|
|
490
|
+
pattern = f"/{pattern}/g"
|
|
484
491
|
if ignore_case:
|
|
485
492
|
pattern += "i"
|
|
486
493
|
|
|
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
|