pydpm_xl 0.2.13__tar.gz → 0.2.14__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 (100) hide show
  1. {pydpm_xl-0.2.13/pydpm_xl.egg-info → pydpm_xl-0.2.14}/PKG-INFO +1 -1
  2. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/__init__.py +1 -1
  3. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/ast_generator.py +1 -1
  4. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/serialization.py +10 -0
  5. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14/pydpm_xl.egg-info}/PKG-INFO +1 -1
  6. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pyproject.toml +2 -2
  7. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/LICENSE +0 -0
  8. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/README.md +0 -0
  9. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/__init__.py +0 -0
  10. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/__init__.py +0 -0
  11. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/data_dictionary.py +0 -0
  12. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/explorer.py +0 -0
  13. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/hierarchical_queries.py +0 -0
  14. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/instance.py +0 -0
  15. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/migration.py +0 -0
  16. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/__init__.py +0 -0
  17. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/complete_ast.py +0 -0
  18. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/operation_scopes.py +0 -0
  19. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/semantic.py +0 -0
  20. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/syntax.py +0 -0
  21. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/cli/__init__.py +0 -0
  22. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/cli/commands/__init__.py +0 -0
  23. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/cli/main.py +0 -0
  24. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/__init__.py +0 -0
  25. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/migration.py +0 -0
  26. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/models.py +0 -0
  27. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/base.py +0 -0
  28. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/basic_objects.py +0 -0
  29. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/explorer_queries.py +0 -0
  30. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/filters.py +0 -0
  31. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/glossary.py +0 -0
  32. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/hierarchical_queries.py +0 -0
  33. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/tables.py +0 -0
  34. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/utils.py +0 -0
  35. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/__init__.py +0 -0
  36. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/__init__.py +0 -0
  37. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/constructor.py +0 -0
  38. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/ml_generation.py +0 -0
  39. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/module_analyzer.py +0 -0
  40. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/module_dependencies.py +0 -0
  41. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/nodes.py +0 -0
  42. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/operands.py +0 -0
  43. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/template.py +0 -0
  44. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/visitor.py +0 -0
  45. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/where_clause.py +0 -0
  46. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/__init__.py +0 -0
  47. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/__init__.py +0 -0
  48. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlLexer.interp +0 -0
  49. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlLexer.py +0 -0
  50. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlLexer.tokens +0 -0
  51. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlParser.interp +0 -0
  52. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlParser.py +0 -0
  53. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlParser.tokens +0 -0
  54. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlParserListener.py +0 -0
  55. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlParserVisitor.py +0 -0
  56. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/listeners.py +0 -0
  57. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/__init__.py +0 -0
  58. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/aggregate.py +0 -0
  59. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/arithmetic.py +0 -0
  60. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/base.py +0 -0
  61. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/boolean.py +0 -0
  62. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/clause.py +0 -0
  63. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/comparison.py +0 -0
  64. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/conditional.py +0 -0
  65. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/string.py +0 -0
  66. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/time.py +0 -0
  67. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/semantic_analyzer.py +0 -0
  68. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/symbols.py +0 -0
  69. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/types/__init__.py +0 -0
  70. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/types/promotion.py +0 -0
  71. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/types/scalar.py +0 -0
  72. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/types/time.py +0 -0
  73. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/__init__.py +0 -0
  74. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/data_handlers.py +0 -0
  75. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/operands_mapping.py +0 -0
  76. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/operator_mapping.py +0 -0
  77. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/scopes_calculator.py +0 -0
  78. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/tokens.py +0 -0
  79. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/exceptions/__init__.py +0 -0
  80. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/exceptions/exceptions.py +0 -0
  81. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/exceptions/messages.py +0 -0
  82. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/instance/__init__.py +0 -0
  83. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/instance/instance.py +0 -0
  84. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pydpm_xl.egg-info/SOURCES.txt +0 -0
  85. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pydpm_xl.egg-info/dependency_links.txt +0 -0
  86. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pydpm_xl.egg-info/entry_points.txt +0 -0
  87. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pydpm_xl.egg-info/requires.txt +0 -0
  88. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pydpm_xl.egg-info/top_level.txt +0 -0
  89. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/setup.cfg +0 -0
  90. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_cli_semantic.py +0 -0
  91. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_data_dictionary_releases.py +0 -0
  92. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_db_connection_handling.py +0 -0
  93. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_get_table_details.py +0 -0
  94. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_get_tables_date_filter.py +0 -0
  95. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_get_tables_release_code.py +0 -0
  96. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_hierarchical_query.py +0 -0
  97. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_migration_type_inference.py +0 -0
  98. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_query_refactor.py +0 -0
  99. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_release_filters_semantic.py +0 -0
  100. {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_semantic_release.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydpm_xl
3
- Version: 0.2.13
3
+ Version: 0.2.14
4
4
  Summary: Python library for DPM-XL data processing and analysis
5
5
  Author-email: "MeaningfulData S.L." <info@meaningfuldata.eu>
6
6
  License: GPL-3.0-or-later
@@ -41,7 +41,7 @@ Available packages:
41
41
  - pydpm.api: Main APIs for migration, syntax, and semantic analysis
42
42
  """
43
43
 
44
- __version__ = "0.2.13"
44
+ __version__ = "0.2.14"
45
45
  __author__ = "MeaningfulData S.L."
46
46
  __email__ = "info@meaningfuldata.eu"
47
47
  __license__ = "GPL-3.0-or-later"
@@ -838,7 +838,7 @@ class ASTGeneratorAPI:
838
838
  "root_operator_id": 24, # Default for now
839
839
  "ast": ast_with_coords,
840
840
  "from_submission_date": submission_date,
841
- "severity": "Error",
841
+ "severity": "error",
842
842
  }
843
843
  }
844
844
 
@@ -704,6 +704,16 @@ def serialize_ast(ast_obj):
704
704
  if isinstance(expanded_obj, dict):
705
705
  return {key: serialize_ast(value) for key, value in expanded_obj.items()}
706
706
 
707
+ # Use visitor pattern for GetOp and SubOp to get correct structure
708
+ # This must be checked BEFORE toJSON() to ensure nested nodes are handled correctly
709
+ if hasattr(ASTObjects, 'GetOp') and isinstance(expanded_obj, ASTObjects.GetOp):
710
+ visitor = ASTToJSONVisitor()
711
+ return visitor.visit(expanded_obj)
712
+
713
+ if hasattr(ASTObjects, 'SubOp') and isinstance(expanded_obj, ASTObjects.SubOp):
714
+ visitor = ASTToJSONVisitor()
715
+ return visitor.visit(expanded_obj)
716
+
707
717
  if hasattr(expanded_obj, 'toJSON'):
708
718
  serialized = expanded_obj.toJSON()
709
719
  # Recursively serialize nested AST objects
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydpm_xl
3
- Version: 0.2.13
3
+ Version: 0.2.14
4
4
  Summary: Python library for DPM-XL data processing and analysis
5
5
  Author-email: "MeaningfulData S.L." <info@meaningfuldata.eu>
6
6
  License: GPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pydpm_xl"
3
- version = "0.2.13"
3
+ version = "0.2.14"
4
4
  description = "Python library for DPM-XL data processing and analysis"
5
5
  authors = [
6
6
  {name = "MeaningfulData S.L.", email = "info@meaningfuldata.eu"}
@@ -52,7 +52,7 @@ exclude = []
52
52
 
53
53
  [tool.poetry]
54
54
  name = "pydpm_xl"
55
- version = "0.2.13"
55
+ version = "0.2.14"
56
56
  description = "Python library for DPM-XL data processing and analysis"
57
57
  authors = ["MeaningfulData S.L. <info@meaningfuldata.eu>"]
58
58
  readme = "README.md"
File without changes
File without changes
File without changes
File without changes
File without changes