ssc_codegen 0.26.2__tar.gz → 0.26.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 (60) hide show
  1. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/PKG-INFO +1 -1
  2. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/pyproject.toml +1 -1
  3. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/converters/js_pure.py +4 -0
  4. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/converters/py_bs4.py +5 -2
  5. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/converters/py_helpers.py +561 -562
  6. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/converters/py_lxml.py +2 -0
  7. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/converters/py_parsel.py +23 -10
  8. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/converters/py_slax.py +23 -10
  9. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/expressions.py +1 -1
  10. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/main.py +40 -16
  11. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/.gitignore +0 -0
  12. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/LICENSE +0 -0
  13. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/README.md +0 -0
  14. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/__init__.py +0 -0
  15. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/_logging.py +0 -0
  16. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/__init__.py +0 -0
  17. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/array.py +0 -0
  18. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/base.py +0 -0
  19. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/cast.py +0 -0
  20. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/control.py +0 -0
  21. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/extract.py +0 -0
  22. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/helpers.py +0 -0
  23. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/jsondef.py +0 -0
  24. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/module.py +0 -0
  25. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/predicate_containers.py +0 -0
  26. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/predicate_ops.py +0 -0
  27. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/regex.py +0 -0
  28. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/selectors.py +0 -0
  29. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/string.py +0 -0
  30. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/struct.py +0 -0
  31. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/transform.py +0 -0
  32. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/typedef.py +0 -0
  33. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/ast/types.py +0 -0
  34. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/converters/base.py +0 -0
  35. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/converters/helpers.py +0 -0
  36. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/converters/py_render.py +0 -0
  37. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/converters/request_spec.py +0 -0
  38. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/__init__.py +0 -0
  39. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/adapter.py +0 -0
  40. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/contexts.py +0 -0
  41. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/format.py +0 -0
  42. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/linting.py +0 -0
  43. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/module_handler.py +0 -0
  44. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/predicates.py +0 -0
  45. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/reader.py +0 -0
  46. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/struct_parser.py +0 -0
  47. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/core/type_checking.py +0 -0
  48. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/document_utils.py +0 -0
  49. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/exceptions.py +0 -0
  50. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/health.py +0 -0
  51. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/kdl/__init__.py +0 -0
  52. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/kdl/dict_reader.py +0 -0
  53. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/kdl/parser.py +0 -0
  54. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/kdl/reader.py +0 -0
  55. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/parsers/__init__.py +0 -0
  56. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/parsers/curl.py +0 -0
  57. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/parsers/http.py +0 -0
  58. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/pseudo_selectors.py +0 -0
  59. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/ssc_codegen/regex_utils.py +0 -0
  60. {ssc_codegen-0.26.2 → ssc_codegen-0.26.4}/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.2
3
+ Version: 0.26.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.26.2"
3
+ version = "0.26.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"
@@ -594,6 +594,8 @@ def pre_start_parse(node: a.StartParse, ctx: ConverterContext):
594
594
  # type
595
595
  name = to_pascal_case(node.struct.name)
596
596
  match node.struct_type:
597
+ case a.StructType.REST:
598
+ return
597
599
  case a.StructType.ITEM:
598
600
  ret_type = f"{name}Type"
599
601
  case a.StructType.LIST:
@@ -619,6 +621,8 @@ def pre_start_parse(node: a.StartParse, ctx: ConverterContext):
619
621
  @JS_CONVERTER.post(a.StartParse)
620
622
  def post_start_parse(node: a.StartParse, ctx: ConverterContext):
621
623
  lines: list[str] = []
624
+ if node.struct_type == a.StructType.REST:
625
+ return
622
626
  if node.use_pre_validate:
623
627
  lines.append(f"{ctx.indent * 2}this._preValidate(this._doc);")
624
628
 
@@ -225,6 +225,8 @@ def pre_start_parse(node: a.StartParse, ctx: ConverterContext):
225
225
  name = to_pascal_case(node.struct.name)
226
226
 
227
227
  match node.struct_type:
228
+ case a.StructType.REST:
229
+ return
228
230
  case a.StructType.ITEM:
229
231
  ret_type = f"{name}Type"
230
232
  case a.StructType.LIST:
@@ -245,10 +247,11 @@ def pre_start_parse(node: a.StartParse, ctx: ConverterContext):
245
247
  @PY_BASE_CONVERTER.post(a.StartParse)
246
248
  def post_start_parse(node: a.StartParse, ctx: ConverterContext):
247
249
  lines: list[str] = []
250
+ if node.struct_type == a.StructType.REST:
251
+ return
252
+
248
253
  if node.use_pre_validate:
249
254
  lines.append(f"{ctx.indent * 2}self._pre_validate(self._doc)")
250
- # TODO: pre_validate call
251
- # TODO: move init fields here
252
255
  match node.struct_type:
253
256
  case a.StructType.ITEM:
254
257
  # return {name: self_parse_name(self._doc), ...}