ssc_codegen 0.25.0__tar.gz → 0.25.1__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.25.0 → ssc_codegen-0.25.1}/PKG-INFO +2 -2
  2. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/README.md +1 -1
  3. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/pyproject.toml +1 -1
  4. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/linting.py +2 -1
  5. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/module_handler.py +10 -3
  6. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/.gitignore +0 -0
  7. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/LICENSE +0 -0
  8. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/__init__.py +0 -0
  9. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/_logging.py +0 -0
  10. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/__init__.py +0 -0
  11. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/array.py +0 -0
  12. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/base.py +0 -0
  13. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/cast.py +0 -0
  14. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/control.py +0 -0
  15. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/extract.py +0 -0
  16. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/helpers.py +0 -0
  17. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/jsondef.py +0 -0
  18. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/module.py +0 -0
  19. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/predicate_containers.py +0 -0
  20. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/predicate_ops.py +0 -0
  21. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/regex.py +0 -0
  22. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/selectors.py +0 -0
  23. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/string.py +0 -0
  24. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/struct.py +0 -0
  25. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/transform.py +0 -0
  26. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/typedef.py +0 -0
  27. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/ast/types.py +0 -0
  28. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/base.py +0 -0
  29. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/helpers.py +0 -0
  30. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/js_pure.py +0 -0
  31. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_bs4.py +0 -0
  32. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_helpers.py +0 -0
  33. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_lxml.py +0 -0
  34. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_parsel.py +0 -0
  35. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_render.py +0 -0
  36. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/py_slax.py +0 -0
  37. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/converters/request_spec.py +0 -0
  38. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/__init__.py +0 -0
  39. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/adapter.py +0 -0
  40. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/contexts.py +0 -0
  41. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/expressions.py +0 -0
  42. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/format.py +0 -0
  43. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/predicates.py +0 -0
  44. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/reader.py +0 -0
  45. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/struct_parser.py +0 -0
  46. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/core/type_checking.py +0 -0
  47. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/document_utils.py +0 -0
  48. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/exceptions.py +0 -0
  49. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/health.py +0 -0
  50. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/kdl/__init__.py +0 -0
  51. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/kdl/dict_reader.py +0 -0
  52. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/kdl/parser.py +0 -0
  53. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/kdl/reader.py +0 -0
  54. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/main.py +0 -0
  55. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/parsers/__init__.py +0 -0
  56. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/parsers/curl.py +0 -0
  57. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/parsers/http.py +0 -0
  58. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/pseudo_selectors.py +0 -0
  59. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/ssc_codegen/regex_utils.py +0 -0
  60. {ssc_codegen-0.25.0 → ssc_codegen-0.25.1}/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.25.0
3
+ Version: 0.25.1
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
@@ -57,7 +57,7 @@ uv tool install ssc_codegen
57
57
  `books.kdl`:
58
58
 
59
59
  ```kdl
60
- struct Book type=list {
60
+ (list)struct Book {
61
61
  @split-doc { css-all ".product-card" }
62
62
 
63
63
  title { css ".title"; text }
@@ -25,7 +25,7 @@ uv tool install ssc_codegen
25
25
  `books.kdl`:
26
26
 
27
27
  ```kdl
28
- struct Book type=list {
28
+ (list)struct Book {
29
29
  @split-doc { css-all ".product-card" }
30
30
 
31
31
  title { css ".title"; text }
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ssc_codegen"
3
- version = "0.25.0"
3
+ version = "0.25.1"
4
4
  description = "Python-dsl code converter to html parser for web scraping "
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -680,7 +680,8 @@ def lint_struct_node(
680
680
  )
681
681
  return
682
682
 
683
- struct_type = lint.get_prop(node, "type") or "item"
683
+ raw = node.type_annotation
684
+ struct_type = raw[1:-1] if raw else (lint.get_prop(node, "type") or "item")
684
685
  if struct_type not in _VALID_STRUCT_TYPES:
685
686
  lint.error(
686
687
  node,
@@ -47,9 +47,16 @@ def handle_struct(
47
47
  node: KdlNode, module: Module, ctx: ParseContext, lint: LintContext
48
48
  ) -> Struct:
49
49
  lint_struct_node(node, module, ctx, lint)
50
- type_ = node.properties.get(
51
- "type", KdlArg(value="item", span=node.span, is_identifier=True)
52
- ).value
50
+ raw = node.type_annotation
51
+ type_ = (
52
+ raw[1:-1]
53
+ if raw
54
+ else str(
55
+ node.properties.get(
56
+ "type", KdlArg(value="item", span=node.span, is_identifier=True)
57
+ ).value
58
+ )
59
+ )
53
60
  keep_order = node.properties.get(
54
61
  "keep-order", KdlArg(value=False, span=node.span, is_identifier=False)
55
62
  ).value
File without changes
File without changes