ssc_codegen 0.10.1__tar.gz → 0.10.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.10.1 → ssc_codegen-0.10.2}/PKG-INFO +3 -1
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/README.md +2 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/pyproject.toml +1 -1
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/__init__.py +3 -1
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/helpers.py +1 -1
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/py_base.py +2 -2
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/document.py +205 -316
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/.gitignore +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/LICENSE +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/_compat.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_/__init__.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_/base.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_/nodes_array.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_/nodes_cast.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_/nodes_core.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_/nodes_filter.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_/nodes_selectors.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_/nodes_string.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_/nodes_validate.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_build/__init__.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_build/main.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_build/utils.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_grep_rules/js_rules.yml +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/ast_grep_rules/py_rules.yml +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/cli/__init__.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/cli/ast_grep.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/cli/cli_callbacks.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/cli/cli_utils.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/cli/code_callbacks.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/cli/consts.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/cli/main.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/cli/runtime_parse_runners.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/compiler.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/__init__.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/base.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/go_goquery.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/js_pure.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/lua_htmlparser.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/py_bs4.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/py_lxml.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/py_parsel.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/py_selectolax.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/templates/__init__.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/templates/go_goquery.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/templates/js_pure.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/templates/lua_base.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/templates/lua_css_compat.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/templates/lua_re_compat.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/converters/templates/py_base.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/document_utlis.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/json_struct.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/json_to_scc.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/logs.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/pseudo_selectors.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/schema.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/selector_utils.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/static_checker/__init__.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/static_checker/base.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/static_checker/callbacks.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/str_utils.py +0 -0
- {ssc_codegen-0.10.1 → ssc_codegen-0.10.2}/ssc_codegen/tokens.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ssc_codegen
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.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
|
|
@@ -247,7 +247,9 @@ You can use any html source:
|
|
|
247
247
|
|
|
248
248
|
## See also
|
|
249
249
|
|
|
250
|
+
|
|
250
251
|
- [Brief](docs/briefing.md) about css selectors and regular expressions.
|
|
252
|
+
- [LLM]("llm.md") experimental prompt for generate code
|
|
251
253
|
- [Quickstart](docs/quickstart.md) about css selectors and regular expressions.
|
|
252
254
|
- [Tutorial](docs/tutorial.md) basic usage ssc-gen
|
|
253
255
|
- [AST reference](docs/ast_reference.md) about generation code from AST
|
|
@@ -210,7 +210,9 @@ You can use any html source:
|
|
|
210
210
|
|
|
211
211
|
## See also
|
|
212
212
|
|
|
213
|
+
|
|
213
214
|
- [Brief](docs/briefing.md) about css selectors and regular expressions.
|
|
215
|
+
- [LLM]("llm.md") experimental prompt for generate code
|
|
214
216
|
- [Quickstart](docs/quickstart.md) about css selectors and regular expressions.
|
|
215
217
|
- [Tutorial](docs/tutorial.md) basic usage ssc-gen
|
|
216
218
|
- [AST reference](docs/ast_reference.md) about generation code from AST
|
|
@@ -7,7 +7,7 @@ from ssc_codegen.schema import ItemSchema, DictSchema, ListSchema, FlatListSchem
|
|
|
7
7
|
|
|
8
8
|
setup_logger()
|
|
9
9
|
|
|
10
|
-
VERSION = "0.10.
|
|
10
|
+
VERSION = "0.10.2"
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class __MISSING(object):
|
|
@@ -28,10 +28,12 @@ class Document(
|
|
|
28
28
|
JsonDocument,
|
|
29
29
|
BooleanDocument
|
|
30
30
|
):
|
|
31
|
+
"""Special Common Document or Element marker manipulations"""
|
|
31
32
|
pass
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
class Nested(HTMLDocument, NestedDocument, ArrayDocument, AssertDocument):
|
|
36
|
+
"""Special Common Document or Element marker for provide Nested structure parsers"""
|
|
35
37
|
pass
|
|
36
38
|
|
|
37
39
|
|
|
@@ -141,7 +141,7 @@ def _js_default_cast_t(i) -> str:
|
|
|
141
141
|
return "[" + ",".join(repr(j) for j in i) + "]"
|
|
142
142
|
return "[]"
|
|
143
143
|
elif isinstance(i, str):
|
|
144
|
-
return repr(
|
|
144
|
+
return repr(i)
|
|
145
145
|
elif isinstance(i, bool):
|
|
146
146
|
return "true" if i else "false"
|
|
147
147
|
# int, float types
|
|
@@ -951,9 +951,9 @@ def pre_is_regex(node: ExprStringIsRegex) -> str:
|
|
|
951
951
|
else:
|
|
952
952
|
flags = py_regex_flags(ignore_case)
|
|
953
953
|
if flags:
|
|
954
|
-
expr = f"re.search({pattern}, {prv}, re.I)"
|
|
954
|
+
expr = f"re.search({pattern!r}, {prv}, re.I)"
|
|
955
955
|
else:
|
|
956
|
-
expr = f"re.search({pattern}, {prv})"
|
|
956
|
+
expr = f"re.search({pattern!r}, {prv})"
|
|
957
957
|
|
|
958
958
|
expr = indent + f"assert {expr}, {msg}"
|
|
959
959
|
if is_last_var_no_ret(node):
|