ssc_codegen 0.25.0__tar.gz → 0.25.1__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.25.0 → ssc_codegen-0.25.1}/PKG-INFO +2 -2
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/README.md +1 -1
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/pyproject.toml +1 -1
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/linting.py +2 -1
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/module_handler.py +10 -3
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/.gitignore +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/LICENSE +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/__init__.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/_logging.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/__init__.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/array.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/base.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/cast.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/control.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/extract.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/helpers.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/jsondef.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/module.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/predicate_containers.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/predicate_ops.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/regex.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/selectors.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/string.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/struct.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/transform.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/typedef.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/types.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/base.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/helpers.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/js_pure.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_bs4.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_helpers.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_lxml.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_parsel.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_render.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_slax.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/request_spec.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/__init__.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/adapter.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/contexts.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/expressions.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/format.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/predicates.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/reader.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/struct_parser.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/type_checking.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/document_utils.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/exceptions.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/health.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/kdl/__init__.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/kdl/dict_reader.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/kdl/parser.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/kdl/reader.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/main.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/parsers/__init__.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/parsers/curl.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/parsers/http.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/pseudo_selectors.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/regex_utils.py +0 -0
- {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/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.25.
|
|
3
|
+
Version: 0.25.1
|
|
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
|
|
@@ -57,7 +57,7 @@ uv tool install ssc_codegen
|
|
|
57
57
|
`books.kdl`:
|
|
58
58
|
|
|
59
59
|
```kdl
|
|
60
|
-
struct Book
|
|
60
|
+
(list)struct Book {
|
|
61
61
|
@split-doc { css-all ".product-card" }
|
|
62
62
|
|
|
63
63
|
title { css ".title"; text }
|
|
@@ -680,7 +680,8 @@ def lint_struct_node(
|
|
|
680
680
|
)
|
|
681
681
|
return
|
|
682
682
|
|
|
683
|
-
|
|
683
|
+
raw = node.type_annotation
|
|
684
|
+
struct_type = raw[1:-1] if raw else (lint.get_prop(node, "type") or "item")
|
|
684
685
|
if struct_type not in _VALID_STRUCT_TYPES:
|
|
685
686
|
lint.error(
|
|
686
687
|
node,
|
|
@@ -47,9 +47,16 @@ def handle_struct(
|
|
|
47
47
|
node: KdlNode, module: Module, ctx: ParseContext, lint: LintContext
|
|
48
48
|
) -> Struct:
|
|
49
49
|
lint_struct_node(node, module, ctx, lint)
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
raw = node.type_annotation
|
|
51
|
+
type_ = (
|
|
52
|
+
raw[1:-1]
|
|
53
|
+
if raw
|
|
54
|
+
else str(
|
|
55
|
+
node.properties.get(
|
|
56
|
+
"type", KdlArg(value="item", span=node.span, is_identifier=True)
|
|
57
|
+
).value
|
|
58
|
+
)
|
|
59
|
+
)
|
|
53
60
|
keep_order = node.properties.get(
|
|
54
61
|
"keep-order", KdlArg(value=False, span=node.span, is_identifier=False)
|
|
55
62
|
).value
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|