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.
Files changed (51) hide show
  1. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/PKG-INFO +1 -1
  2. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/pyproject.toml +24 -1
  3. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/__init__.py +1 -1
  4. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_build/utils.py +9 -2
  5. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/.gitignore +0 -0
  6. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/LICENSE +0 -0
  7. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/README.md +0 -0
  8. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/_compat.py +0 -0
  9. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/__init__.py +0 -0
  10. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/base.py +0 -0
  11. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_array.py +0 -0
  12. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_cast.py +0 -0
  13. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_core.py +0 -0
  14. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_selectors.py +0 -0
  15. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_string.py +0 -0
  16. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_/nodes_validate.py +0 -0
  17. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_build/__init__.py +0 -0
  18. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/ast_build/main.py +0 -0
  19. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/__init__.py +0 -0
  20. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/cli_callbacks.py +0 -0
  21. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/cli_utils.py +0 -0
  22. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/code_callbacks.py +0 -0
  23. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/consts.py +0 -0
  24. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/main.py +0 -0
  25. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/cli/runtime_parse_runners.py +0 -0
  26. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/compiler.py +0 -0
  27. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/consts.py +0 -0
  28. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/__init__.py +0 -0
  29. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/base.py +0 -0
  30. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/go_goquery.py +0 -0
  31. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/helpers.py +0 -0
  32. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/js_pure.py +0 -0
  33. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/py_base.py +0 -0
  34. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/py_bs4.py +0 -0
  35. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/py_parsel.py +0 -0
  36. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/py_selectolax.py +0 -0
  37. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/templates/__init__.py +0 -0
  38. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/templates/go_goquery.py +0 -0
  39. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/converters/templates/js_pure.py +0 -0
  40. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/document.py +0 -0
  41. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/document_utlis.py +0 -0
  42. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/json_struct.py +0 -0
  43. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/json_to_scc.py +0 -0
  44. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/logs.py +0 -0
  45. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/schema.py +0 -0
  46. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/selector_utils.py +0 -0
  47. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/static_checker/__init__.py +0 -0
  48. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/static_checker/base.py +0 -0
  49. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/static_checker/callbacks.py +0 -0
  50. {ssc_codegen-0.8.3 → ssc_codegen-0.8.4}/ssc_codegen/str_utils.py +0 -0
  51. {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
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"
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
+ ]
@@ -7,7 +7,7 @@ from ssc_codegen.schema import ItemSchema, DictSchema, ListSchema, FlatListSchem
7
7
 
8
8
  setup_logger()
9
9
 
10
- VERSION = "0.8.3"
10
+ VERSION = "0.8.4"
11
11
 
12
12
 
13
13
  class __MISSING(object):
@@ -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
- code = Path(path.resolve()).read_text()
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