ssc_codegen 0.9.1__tar.gz → 0.9.2__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.

Potentially problematic release.


This version of ssc_codegen might be problematic. Click here for more details.

Files changed (53) hide show
  1. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/PKG-INFO +4 -1
  2. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/README.md +3 -0
  3. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/pyproject.toml +1 -1
  4. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/__init__.py +1 -1
  5. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/py_base.py +2 -3
  6. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/.gitignore +0 -0
  7. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/LICENSE +0 -0
  8. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/_compat.py +0 -0
  9. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_/__init__.py +0 -0
  10. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_/base.py +0 -0
  11. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_/nodes_array.py +0 -0
  12. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_/nodes_cast.py +0 -0
  13. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_/nodes_core.py +0 -0
  14. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_/nodes_filter.py +0 -0
  15. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_/nodes_selectors.py +0 -0
  16. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_/nodes_string.py +0 -0
  17. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_/nodes_validate.py +0 -0
  18. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_build/__init__.py +0 -0
  19. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_build/main.py +0 -0
  20. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/ast_build/utils.py +0 -0
  21. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/cli/__init__.py +0 -0
  22. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/cli/cli_callbacks.py +0 -0
  23. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/cli/cli_utils.py +0 -0
  24. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/cli/code_callbacks.py +0 -0
  25. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/cli/consts.py +0 -0
  26. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/cli/main.py +0 -0
  27. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/cli/runtime_parse_runners.py +0 -0
  28. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/compiler.py +0 -0
  29. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/consts.py +0 -0
  30. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/__init__.py +0 -0
  31. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/base.py +0 -0
  32. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/go_goquery.py +0 -0
  33. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/helpers.py +0 -0
  34. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/js_pure.py +0 -0
  35. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/py_bs4.py +0 -0
  36. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/py_parsel.py +0 -0
  37. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/py_selectolax.py +0 -0
  38. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/templates/__init__.py +0 -0
  39. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/templates/go_goquery.py +0 -0
  40. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/converters/templates/js_pure.py +0 -0
  41. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/document.py +0 -0
  42. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/document_utlis.py +0 -0
  43. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/json_struct.py +0 -0
  44. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/json_to_scc.py +0 -0
  45. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/logs.py +0 -0
  46. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/pseudo_selectors.py +0 -0
  47. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/schema.py +0 -0
  48. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/selector_utils.py +0 -0
  49. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/static_checker/__init__.py +0 -0
  50. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/static_checker/base.py +0 -0
  51. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/static_checker/callbacks.py +0 -0
  52. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/str_utils.py +0 -0
  53. {ssc_codegen-0.9.1 → ssc_codegen-0.9.2}/ssc_codegen/tokens.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ssc_codegen
3
- Version: 0.9.1
3
+ Version: 0.9.2
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
@@ -45,6 +45,9 @@ Project solving next problems:
45
45
  - generate types or type annotations if possible and documentation
46
46
  - simplify code support
47
47
  - portability to other languages and HTML parser backends
48
+ - designed for server-side-render pages parse.
49
+ For REST-API, GRAPHQL use tools like [mitmproxy2swagger](https://github.com/alufers/mitmproxy2swagger)
50
+ for simplify convert to code
48
51
 
49
52
  ## Support converters
50
53
 
@@ -11,6 +11,9 @@ Project solving next problems:
11
11
  - generate types or type annotations if possible and documentation
12
12
  - simplify code support
13
13
  - portability to other languages and HTML parser backends
14
+ - designed for server-side-render pages parse.
15
+ For REST-API, GRAPHQL use tools like [mitmproxy2swagger](https://github.com/alufers/mitmproxy2swagger)
16
+ for simplify convert to code
14
17
 
15
18
  ## Support converters
16
19
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ssc_codegen"
3
- version = "0.9.1"
3
+ version = "0.9.2"
4
4
  description = "Python-dsl code converter to html parser for web scraping "
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -7,7 +7,7 @@ from ssc_codegen.schema import ItemSchema, DictSchema, ListSchema, FlatListSchem
7
7
 
8
8
  setup_logger()
9
9
 
10
- VERSION = "0.9.1"
10
+ VERSION = "0.9.2"
11
11
 
12
12
 
13
13
  class __MISSING(object):
@@ -491,7 +491,7 @@ def post_start_parse(node: StartParseMethod) -> str:
491
491
  code += f"{name!r}: self._parse_{name}(self._document),"
492
492
  code += "}"
493
493
  case StructType.ACC_LIST:
494
- code += INDENT_METHOD_BODY + "return list(dict.fromkeys("
494
+ code += INDENT_METHOD_BODY + "return list(set("
495
495
  methods = []
496
496
  for expr in node.body:
497
497
  name = expr.kwargs["name"]
@@ -1100,8 +1100,7 @@ def pre_list_unique(node: ExprListUnique) -> str:
1100
1100
  INDENT_DEFAULT_BODY if have_default_expr(node) else INDENT_METHOD_BODY
1101
1101
  )
1102
1102
  prv, nxt = prev_next_var(node)
1103
- # use `dict.fromkeys()` instead `set()` for guarantees insertion order (py 3.7+) reason
1104
- return f"{indent}{nxt} = list(dict.fromkeys({prv}))"
1103
+ return f"{indent}{nxt} = list(set({prv}))"
1105
1104
 
1106
1105
 
1107
1106
  def pre_str_map_replace(node: ExprStringMapReplace) -> str:
File without changes
File without changes