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.
- {pydpm_xl-0.2.13/pydpm_xl.egg-info → pydpm_xl-0.2.14}/PKG-INFO +1 -1
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/__init__.py +1 -1
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/ast_generator.py +1 -1
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/serialization.py +10 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14/pydpm_xl.egg-info}/PKG-INFO +1 -1
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pyproject.toml +2 -2
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/LICENSE +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/README.md +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/data_dictionary.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/explorer.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/hierarchical_queries.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/instance.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm/migration.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/complete_ast.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/operation_scopes.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/semantic.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/api/dpm_xl/syntax.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/cli/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/cli/commands/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/cli/main.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/migration.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/models.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/base.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/basic_objects.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/explorer_queries.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/filters.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/glossary.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/hierarchical_queries.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/queries/tables.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm/utils.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/constructor.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/ml_generation.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/module_analyzer.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/module_dependencies.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/nodes.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/operands.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/template.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/visitor.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/ast/where_clause.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlLexer.interp +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlLexer.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlLexer.tokens +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlParser.interp +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlParser.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlParser.tokens +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlParserListener.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/dpm_xlParserVisitor.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/grammar/generated/listeners.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/aggregate.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/arithmetic.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/base.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/boolean.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/clause.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/comparison.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/conditional.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/string.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/operators/time.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/semantic_analyzer.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/symbols.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/types/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/types/promotion.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/types/scalar.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/types/time.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/data_handlers.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/operands_mapping.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/operator_mapping.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/scopes_calculator.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/dpm_xl/utils/tokens.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/exceptions/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/exceptions/exceptions.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/exceptions/messages.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/instance/__init__.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/py_dpm/instance/instance.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pydpm_xl.egg-info/SOURCES.txt +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pydpm_xl.egg-info/dependency_links.txt +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pydpm_xl.egg-info/entry_points.txt +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pydpm_xl.egg-info/requires.txt +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/pydpm_xl.egg-info/top_level.txt +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/setup.cfg +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_cli_semantic.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_data_dictionary_releases.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_db_connection_handling.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_get_table_details.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_get_tables_date_filter.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_get_tables_release_code.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_hierarchical_query.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_migration_type_inference.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_query_refactor.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_release_filters_semantic.py +0 -0
- {pydpm_xl-0.2.13 → pydpm_xl-0.2.14}/tests/test_semantic_release.py +0 -0
|
@@ -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.
|
|
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"
|
|
@@ -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
|
[project]
|
|
2
2
|
name = "pydpm_xl"
|
|
3
|
-
version = "0.2.
|
|
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.
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|