ssc_codegen 0.26.1__tar.gz → 0.26.2__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.1 → ssc_codegen-0.26.2}/PKG-INFO +1 -1
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/pyproject.toml +1 -1
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/converters/py_bs4.py +2 -14
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/converters/py_helpers.py +12 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/converters/py_lxml.py +2 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/converters/py_parsel.py +1 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/converters/py_slax.py +1 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/.gitignore +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/LICENSE +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/README.md +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/__init__.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/_logging.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/__init__.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/array.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/base.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/cast.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/control.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/extract.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/helpers.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/jsondef.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/module.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/predicate_containers.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/predicate_ops.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/regex.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/selectors.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/string.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/struct.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/transform.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/typedef.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/ast/types.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/converters/base.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/converters/helpers.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/converters/js_pure.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/converters/py_render.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/converters/request_spec.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/__init__.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/adapter.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/contexts.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/expressions.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/format.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/linting.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/module_handler.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/predicates.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/reader.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/struct_parser.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/core/type_checking.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/document_utils.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/exceptions.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/health.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/kdl/__init__.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/kdl/dict_reader.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/kdl/parser.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/kdl/reader.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/main.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/parsers/__init__.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/parsers/curl.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/parsers/http.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/pseudo_selectors.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/ssc_codegen/regex_utils.py +0 -0
- {ssc_codegen-0.26.1 → ssc_codegen-0.26.2}/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.2
|
|
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
|
|
@@ -62,12 +62,8 @@ def pre_imports(node: a.Imports, ctx: ConverterContext):
|
|
|
62
62
|
"import re",
|
|
63
63
|
"import sys",
|
|
64
64
|
"from typing import TypedDict, Optional, Any, List, Dict, Union, Literal",
|
|
65
|
-
"",
|
|
66
|
-
"if sys.version_info >= (3, 11):",
|
|
67
|
-
" from typing import NotRequired",
|
|
68
|
-
"else:",
|
|
69
|
-
" from typing_extensions import NotRequired",
|
|
70
65
|
]
|
|
66
|
+
base_imports.extend(py_helpers.NOT_REQUIRED_IMPORT)
|
|
71
67
|
else:
|
|
72
68
|
base_imports = [
|
|
73
69
|
"import json",
|
|
@@ -77,15 +73,7 @@ def pre_imports(node: a.Imports, ctx: ConverterContext):
|
|
|
77
73
|
]
|
|
78
74
|
if not py_helpers.module_is_rest_only(node):
|
|
79
75
|
base_imports.append("from html import unescape as _html_unescape")
|
|
80
|
-
base_imports.extend(
|
|
81
|
-
[
|
|
82
|
-
"",
|
|
83
|
-
"if sys.version_info >= (3, 11):",
|
|
84
|
-
" from typing import NotRequired",
|
|
85
|
-
"else:",
|
|
86
|
-
" from typing_extensions import NotRequired",
|
|
87
|
-
]
|
|
88
|
-
)
|
|
76
|
+
base_imports.extend(py_helpers.NOT_REQUIRED_IMPORT)
|
|
89
77
|
base_imports.extend(py_helpers.rest_imports(node))
|
|
90
78
|
|
|
91
79
|
# Get transform imports for Python (already collected during parsing)
|
|
@@ -10,9 +10,21 @@ import ssc_codegen.ast as a
|
|
|
10
10
|
from ssc_codegen.ast.struct import PlaceholderSpec
|
|
11
11
|
|
|
12
12
|
from ssc_codegen.converters.base import ConverterContext
|
|
13
|
+
import sys
|
|
14
|
+
|
|
13
15
|
from ssc_codegen.converters.helpers import to_pascal_case
|
|
14
16
|
|
|
17
|
+
NOT_REQUIRED_IMPORT: list[str] = [
|
|
18
|
+
"",
|
|
19
|
+
"if sys.version_info >= (3, 11):",
|
|
20
|
+
" from typing import NotRequired",
|
|
21
|
+
"else:",
|
|
22
|
+
" from typing_extensions import NotRequired",
|
|
23
|
+
]
|
|
24
|
+
|
|
15
25
|
__all__ = [
|
|
26
|
+
# Shared import fragments
|
|
27
|
+
"NOT_REQUIRED_IMPORT",
|
|
16
28
|
# Runtime module generation
|
|
17
29
|
"base_utility_lines",
|
|
18
30
|
"runtime_export_names",
|
|
@@ -49,6 +49,8 @@ def pre_imports(node: a.Imports, ctx: ConverterContext):
|
|
|
49
49
|
base_imports.append("from html import unescape as _html_unescape")
|
|
50
50
|
base_imports.extend(py_helpers.rest_imports(node))
|
|
51
51
|
|
|
52
|
+
base_imports.extend(py_helpers.NOT_REQUIRED_IMPORT)
|
|
53
|
+
|
|
52
54
|
# Get transform imports for Python (already collected during parsing)
|
|
53
55
|
transform_imports = sorted(node.transform_imports.get("py", set()))
|
|
54
56
|
|
|
@@ -30,6 +30,7 @@ def pre_imports(node: a.Imports, _: ConverterContext):
|
|
|
30
30
|
if not py_helpers.module_is_rest_only(node):
|
|
31
31
|
base_imports.append("from html import unescape as _html_unescape")
|
|
32
32
|
base_imports.extend(py_helpers.rest_imports(node))
|
|
33
|
+
base_imports.extend(py_helpers.NOT_REQUIRED_IMPORT)
|
|
33
34
|
|
|
34
35
|
transform_imports = sorted(node.transform_imports.get("py", set()))
|
|
35
36
|
|
|
@@ -29,6 +29,7 @@ def pre_imports(node: a.Imports, _: ConverterContext):
|
|
|
29
29
|
if not py_helpers.module_is_rest_only(node):
|
|
30
30
|
base_imports.append("from html import unescape as _html_unescape")
|
|
31
31
|
base_imports.extend(py_helpers.rest_imports(node))
|
|
32
|
+
base_imports.extend(py_helpers.NOT_REQUIRED_IMPORT)
|
|
32
33
|
|
|
33
34
|
transform_imports = sorted(node.transform_imports.get("py", set()))
|
|
34
35
|
|
|
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
|