ssc_codegen 0.8.3__tar.gz → 0.8.4__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.8.3 → ssc_codegen-0.8.4}/PKG-INFO +1 -1
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/pyproject.toml +24 -1
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/__init__.py +1 -1
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_build/utils.py +9 -2
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/.gitignore +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/LICENSE +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/README.md +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/_compat.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/__init__.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/base.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_array.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_cast.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_core.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_selectors.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_string.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_validate.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_build/__init__.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_build/main.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/__init__.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/cli_callbacks.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/cli_utils.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/code_callbacks.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/consts.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/main.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/runtime_parse_runners.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/compiler.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/consts.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/__init__.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/base.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/go_goquery.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/helpers.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/js_pure.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/py_base.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/py_bs4.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/py_parsel.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/py_selectolax.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/templates/__init__.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/templates/go_goquery.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/templates/js_pure.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/document.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/document_utlis.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/json_struct.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/json_to_scc.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/logs.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/schema.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/selector_utils.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/static_checker/__init__.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/static_checker/base.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/static_checker/callbacks.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/str_utils.py +0 -0
- {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/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.4
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "ssc_codegen"
|
|
3
|
-
version = "0.8.
|
|
3
|
+
version = "0.8.4"
|
|
4
4
|
description = "Python-dsl code converter to html parser for web scraping "
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -84,3 +84,26 @@ exclude = [
|
|
|
84
84
|
[[tool.mypy.overrides]]
|
|
85
85
|
module="tests.*"
|
|
86
86
|
disallow_untyped_defs = false
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
[tool.coverage.report]
|
|
90
|
+
exclude_also = [
|
|
91
|
+
'def __repr__',
|
|
92
|
+
'if self.debug:',
|
|
93
|
+
'if settings.DEBUG',
|
|
94
|
+
'raise AssertionError',
|
|
95
|
+
'raise NotImplementedError',
|
|
96
|
+
'if 0:',
|
|
97
|
+
'if __name__ == .__main__.:',
|
|
98
|
+
'if TYPE_CHECKING:',
|
|
99
|
+
'class .*\bProtocol\):',
|
|
100
|
+
'@(abc\.)?abstractmethod',
|
|
101
|
+
]
|
|
102
|
+
|
|
103
|
+
[tool.coverage.run]
|
|
104
|
+
source = ["ssc_codegen"]
|
|
105
|
+
omit = [
|
|
106
|
+
"*/.venv/*",
|
|
107
|
+
"*/scripts/*",
|
|
108
|
+
"*/tests/*"
|
|
109
|
+
]
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import logging
|
|
3
|
+
import sys
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
from types import ModuleType
|
|
5
6
|
from typing import Any, Type
|
|
@@ -87,10 +88,16 @@ def extract_json_structs_from_module(module: ModuleType) -> list[Type[Json]]:
|
|
|
87
88
|
]
|
|
88
89
|
|
|
89
90
|
|
|
90
|
-
def exec_module_code(path: str | Path) -> ModuleType:
|
|
91
|
+
def exec_module_code(path: str | Path, add_sys_path: bool = True) -> ModuleType:
|
|
92
|
+
# apologize, input - real python file
|
|
91
93
|
if isinstance(path, str):
|
|
92
94
|
path = Path(path)
|
|
93
95
|
module = ModuleType("_")
|
|
94
|
-
|
|
96
|
+
abs_path = path.resolve()
|
|
97
|
+
# required for correct imports (eg: constants)
|
|
98
|
+
if add_sys_path and str(abs_path.parent) not in sys.path:
|
|
99
|
+
sys.path.append(str(abs_path.parent))
|
|
100
|
+
|
|
101
|
+
code = Path(abs_path).read_text()
|
|
95
102
|
exec(code, module.__dict__)
|
|
96
103
|
return module
|
|
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
|