ssc_codegen 0.26.3__tar.gz → 0.26.5__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.
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/PKG-INFO +1 -1
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/pyproject.toml +1 -1
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/converters/js_pure.py +4 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/converters/py_bs4.py +7 -2
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/converters/py_helpers.py +561 -561
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/converters/py_lxml.py +4 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/converters/py_parsel.py +4 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/converters/py_slax.py +4 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/.gitignore +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/LICENSE +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/README.md +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/__init__.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/_logging.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/__init__.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/array.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/base.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/cast.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/control.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/extract.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/helpers.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/jsondef.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/module.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/predicate_containers.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/predicate_ops.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/regex.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/selectors.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/string.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/struct.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/transform.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/typedef.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/ast/types.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/converters/base.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/converters/helpers.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/converters/py_render.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/converters/request_spec.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/__init__.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/adapter.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/contexts.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/expressions.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/format.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/linting.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/module_handler.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/predicates.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/reader.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/struct_parser.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/core/type_checking.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/document_utils.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/exceptions.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/health.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/kdl/__init__.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/kdl/dict_reader.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/kdl/parser.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/kdl/reader.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/main.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/parsers/__init__.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/parsers/curl.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/parsers/http.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/pseudo_selectors.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/regex_utils.py +0 -0
- {ssc_codegen-0.26.3 → ssc_codegen-0.26.5}/ssc_codegen/selector_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ssc_codegen
|
|
3
|
-
Version: 0.26.
|
|
3
|
+
Version: 0.26.5
|
|
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
|
|
@@ -594,6 +594,8 @@ def pre_start_parse(node: a.StartParse, ctx: ConverterContext):
|
|
|
594
594
|
# type
|
|
595
595
|
name = to_pascal_case(node.struct.name)
|
|
596
596
|
match node.struct_type:
|
|
597
|
+
case a.StructType.REST:
|
|
598
|
+
return
|
|
597
599
|
case a.StructType.ITEM:
|
|
598
600
|
ret_type = f"{name}Type"
|
|
599
601
|
case a.StructType.LIST:
|
|
@@ -619,6 +621,8 @@ def pre_start_parse(node: a.StartParse, ctx: ConverterContext):
|
|
|
619
621
|
@JS_CONVERTER.post(a.StartParse)
|
|
620
622
|
def post_start_parse(node: a.StartParse, ctx: ConverterContext):
|
|
621
623
|
lines: list[str] = []
|
|
624
|
+
if node.struct_type == a.StructType.REST:
|
|
625
|
+
return
|
|
622
626
|
if node.use_pre_validate:
|
|
623
627
|
lines.append(f"{ctx.indent * 2}this._preValidate(this._doc);")
|
|
624
628
|
|
|
@@ -61,6 +61,7 @@ def pre_imports(node: a.Imports, ctx: ConverterContext):
|
|
|
61
61
|
"import json",
|
|
62
62
|
"import re",
|
|
63
63
|
"import sys",
|
|
64
|
+
"from dataclasses import dataclass"
|
|
64
65
|
"from typing import TypedDict, Optional, Any, List, Dict, Union, Literal",
|
|
65
66
|
]
|
|
66
67
|
base_imports.extend(py_helpers.NOT_REQUIRED_IMPORT)
|
|
@@ -69,6 +70,7 @@ def pre_imports(node: a.Imports, ctx: ConverterContext):
|
|
|
69
70
|
"import json",
|
|
70
71
|
"import re",
|
|
71
72
|
"import sys",
|
|
73
|
+
"from dataclasses import dataclass"
|
|
72
74
|
"from typing import TypedDict, Optional, Any, List, Dict, Union, Literal",
|
|
73
75
|
]
|
|
74
76
|
if not py_helpers.module_is_rest_only(node):
|
|
@@ -225,6 +227,8 @@ def pre_start_parse(node: a.StartParse, ctx: ConverterContext):
|
|
|
225
227
|
name = to_pascal_case(node.struct.name)
|
|
226
228
|
|
|
227
229
|
match node.struct_type:
|
|
230
|
+
case a.StructType.REST:
|
|
231
|
+
return
|
|
228
232
|
case a.StructType.ITEM:
|
|
229
233
|
ret_type = f"{name}Type"
|
|
230
234
|
case a.StructType.LIST:
|
|
@@ -245,10 +249,11 @@ def pre_start_parse(node: a.StartParse, ctx: ConverterContext):
|
|
|
245
249
|
@PY_BASE_CONVERTER.post(a.StartParse)
|
|
246
250
|
def post_start_parse(node: a.StartParse, ctx: ConverterContext):
|
|
247
251
|
lines: list[str] = []
|
|
252
|
+
if node.struct_type == a.StructType.REST:
|
|
253
|
+
return
|
|
254
|
+
|
|
248
255
|
if node.use_pre_validate:
|
|
249
256
|
lines.append(f"{ctx.indent * 2}self._pre_validate(self._doc)")
|
|
250
|
-
# TODO: pre_validate call
|
|
251
|
-
# TODO: move init fields here
|
|
252
257
|
match node.struct_type:
|
|
253
258
|
case a.StructType.ITEM:
|
|
254
259
|
# return {name: self_parse_name(self._doc), ...}
|