ssc_codegen 0.32.2__tar.gz → 0.32.3__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 (87) hide show
  1. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/PKG-INFO +1 -1
  2. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/pyproject.toml +1 -1
  3. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/request_spec.py +13 -2
  4. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/.gitignore +0 -0
  5. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/LICENSE +0 -0
  6. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/README.md +0 -0
  7. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/__init__.py +0 -0
  8. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/_logging.py +0 -0
  9. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/__init__.py +0 -0
  10. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/array.py +0 -0
  11. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/base.py +0 -0
  12. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/cast.py +0 -0
  13. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/control.py +0 -0
  14. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/extract.py +0 -0
  15. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/helpers.py +0 -0
  16. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/jsondef.py +0 -0
  17. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/module.py +0 -0
  18. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/predicate_containers.py +0 -0
  19. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/predicate_ops.py +0 -0
  20. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/regex.py +0 -0
  21. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/rest.py +0 -0
  22. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/selectors.py +0 -0
  23. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/string.py +0 -0
  24. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/struct.py +0 -0
  25. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/typedef.py +0 -0
  26. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/ast/types.py +0 -0
  27. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/__init__.py +0 -0
  28. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/contexts.py +0 -0
  29. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/expressions.py +0 -0
  30. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/format.py +0 -0
  31. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/linter.py +0 -0
  32. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/module_handler.py +0 -0
  33. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/predicates.py +0 -0
  34. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/reader.py +0 -0
  35. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/rest_artifacts.py +0 -0
  36. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/struct_parser.py +0 -0
  37. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/core/type_checking.py +0 -0
  38. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/exceptions.py +0 -0
  39. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/explore.py +0 -0
  40. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/generation/__init__.py +0 -0
  41. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/generation/builder.py +0 -0
  42. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/generation/runtime.py +0 -0
  43. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/health.py +0 -0
  44. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/main.py +0 -0
  45. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/naming.py +0 -0
  46. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/parsers/__init__.py +0 -0
  47. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/parsers/curl.py +0 -0
  48. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/parsers/http.py +0 -0
  49. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/regex_utils.py +0 -0
  50. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/__init__.py +0 -0
  51. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/golang/__init__.py +0 -0
  52. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/golang/http_libs/__init__.py +0 -0
  53. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/golang/http_libs/base.py +0 -0
  54. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/golang/http_libs/nethttp.py +0 -0
  55. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/golang/literals.py +0 -0
  56. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/golang/regex.py +0 -0
  57. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/golang/rest.py +0 -0
  58. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/golang/runtime.py +0 -0
  59. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/golang/visitor.py +0 -0
  60. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/javascript/__init__.py +0 -0
  61. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/javascript/http_libs/__init__.py +0 -0
  62. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/javascript/http_libs/axios.py +0 -0
  63. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/javascript/http_libs/base.py +0 -0
  64. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/javascript/http_libs/fetch.py +0 -0
  65. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/javascript/rest.py +0 -0
  66. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/javascript/visitor.py +0 -0
  67. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/profile.py +0 -0
  68. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/__init__.py +0 -0
  69. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/html_libs/__init__.py +0 -0
  70. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/html_libs/base.py +0 -0
  71. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/html_libs/bs4.py +0 -0
  72. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/html_libs/lxml.py +0 -0
  73. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/html_libs/parsel.py +0 -0
  74. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/html_libs/slax.py +0 -0
  75. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/http_libs/__init__.py +0 -0
  76. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/http_libs/aiohttp.py +0 -0
  77. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/http_libs/base.py +0 -0
  78. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/http_libs/httpx.py +0 -0
  79. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/http_libs/requests.py +0 -0
  80. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/rest.py +0 -0
  81. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/python/visitor.py +0 -0
  82. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/resolver.py +0 -0
  83. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/targets/spec.py +0 -0
  84. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/traversal/__init__.py +0 -0
  85. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/traversal/context.py +0 -0
  86. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/traversal/utils.py +0 -0
  87. {ssc_codegen-0.32.2 → ssc_codegen-0.32.3}/ssc_codegen/traversal/walker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ssc_codegen
3
- Version: 0.32.2
3
+ Version: 0.32.3
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.32.2"
3
+ version = "0.32.3"
4
4
  description = "Python-dsl code converter to html parser for web scraping "
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -62,10 +62,21 @@ def parse_to_http(payload: str) -> RequestHttp:
62
62
 
63
63
  method: str = kwargs.get("method", "GET").upper()
64
64
  full_url: str = kwargs.get("url", "")
65
- url = _strip_query(full_url)
65
+ raw_params: dict = kwargs.get("params", {})
66
+ # Bare-value query form like ``?32-{{username}}`` (no ``=``) makes
67
+ # parse_qs classify the whole token as a dict KEY with empty value.
68
+ # Dict keys are never tokenized downstream, so the placeholder would be
69
+ # lost from both the URL and the signature. When that happens, keep the
70
+ # full URL so PlaceholderTemplate.parse(url) can tokenize it and skip the
71
+ # params dict. Proper ``key=...`` form yields clean keys → params path.
72
+ if any(PlaceholderSpec.search(k) for k in raw_params):
73
+ url = full_url
74
+ params: dict = {}
75
+ else:
76
+ url = _strip_query(full_url)
77
+ params = raw_params
66
78
  headers: dict = kwargs.get("headers", {})
67
79
  cookies: dict = kwargs.get("cookies", {})
68
- params: dict = kwargs.get("params", {})
69
80
 
70
81
  # ── body ─────────────────────────────────────────────────────────────────
71
82
  body_kind = "empty"
File without changes
File without changes
File without changes