pydpm_xl 0.1.39rc24__tar.gz → 0.1.39rc25__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.1.39rc24 → pydpm_xl-0.1.39rc25}/PKG-INFO +1 -1
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Utils/ast_serialization.py +20 -3
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/__init__.py +1 -1
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/pydpm_xl.egg-info/PKG-INFO +1 -1
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/pyproject.toml +2 -2
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/LICENSE +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/README.md +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/AST/ASTConstructor.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/AST/ASTObjects.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/AST/ASTTemplate.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/AST/ASTVisitor.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/AST/MLGeneration.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/AST/ModuleAnalyzer.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/AST/ModuleDependencies.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/AST/WhereClauseChecker.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/AST/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/AST/check_operands.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/DataTypes/ScalarTypes.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/DataTypes/TimeClasses.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/DataTypes/TypePromotion.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/DataTypes/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Exceptions/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Exceptions/exceptions.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Exceptions/messages.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/OperationScopes/OperationScopeService.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/OperationScopes/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Operators/AggregateOperators.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Operators/BooleanOperators.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Operators/ClauseOperators.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Operators/ComparisonOperators.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Operators/ConditionalOperators.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Operators/NumericOperators.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Operators/Operator.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Operators/StringOperators.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Operators/TimeOperators.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Operators/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Utils/ValidationsGenerationUtils.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Utils/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Utils/operands_mapping.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Utils/operator_mapping.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Utils/tokens.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/Utils/utils.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/ValidationsGeneration/PropertiesConstraintsProcessor.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/ValidationsGeneration/Utils.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/ValidationsGeneration/VariantsProcessor.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/ValidationsGeneration/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/ValidationsGeneration/auxiliary_functions.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/api/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/api/ast_generator.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/api/complete_ast.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/api/data_dictionary.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/api/data_dictionary_validation.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/api/migration.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/api/operation_scopes.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/api/semantic.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/api/syntax.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/client.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/data_handlers.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/db_utils.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dist/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dist/dpm_xlLexer.interp +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dist/dpm_xlLexer.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dist/dpm_xlLexer.tokens +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dist/dpm_xlParser.interp +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dist/dpm_xlParser.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dist/dpm_xlParser.tokens +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dist/dpm_xlParserListener.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dist/dpm_xlParserVisitor.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dist/listeners.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dpm_xlLexer.g4 +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/grammar/dpm_xlParser.g4 +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/migration.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/models.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/semantics/DAG/DAGAnalyzer.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/semantics/DAG/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/semantics/SemanticAnalyzer.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/semantics/Symbols.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/semantics/__init__.py +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/data_types.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/datapoints.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/hierarchy_operand_reference.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/hierarchy_preconditions.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/hierarchy_variables.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/hierarchy_variables_context.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/key_components.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/module_from_table.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/open_keys.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/operation_info.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/operation_list.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/operations_versions_from_module_version.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/precondition_info.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/report_type_operand_reference_info.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/subcategory_info.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/table_info.sql +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/pydpm_xl.egg-info/SOURCES.txt +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/pydpm_xl.egg-info/dependency_links.txt +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/pydpm_xl.egg-info/entry_points.txt +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/pydpm_xl.egg-info/requires.txt +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/pydpm_xl.egg-info/top_level.txt +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/setup.cfg +0 -0
- {pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/tests/test_semantic_release.py +0 -0
|
@@ -190,7 +190,8 @@ class ASTToJSONVisitor(NodeVisitor):
|
|
|
190
190
|
entries_by_row[row_code] = []
|
|
191
191
|
entries_by_row[row_code].append(record)
|
|
192
192
|
|
|
193
|
-
rows
|
|
193
|
+
# Sort rows to ensure consistent numerical ordering for x-coordinate calculation
|
|
194
|
+
rows = sorted(entries_by_row.keys())
|
|
194
195
|
|
|
195
196
|
# Helper function to detect range syntax (e.g., '0010-0080')
|
|
196
197
|
def _has_range_syntax(values):
|
|
@@ -211,6 +212,19 @@ class ASTToJSONVisitor(NodeVisitor):
|
|
|
211
212
|
if col and col not in seen_cols:
|
|
212
213
|
context_cols.append(col)
|
|
213
214
|
seen_cols.add(col)
|
|
215
|
+
# Sort to ensure consistent numerical ordering for y-coordinate calculation
|
|
216
|
+
context_cols.sort()
|
|
217
|
+
|
|
218
|
+
# Build sheet order from data for z-coordinate calculation
|
|
219
|
+
# Extract unique sheets and sort them for consistent ordering
|
|
220
|
+
context_sheets = []
|
|
221
|
+
seen_sheets = set()
|
|
222
|
+
for record in data_records:
|
|
223
|
+
sheet = record.get('sheet_code', '')
|
|
224
|
+
if sheet and sheet not in seen_sheets:
|
|
225
|
+
context_sheets.append(sheet)
|
|
226
|
+
seen_sheets.add(sheet)
|
|
227
|
+
context_sheets.sort()
|
|
214
228
|
|
|
215
229
|
# Transform the data to match expected JSON structure
|
|
216
230
|
transformed_data = []
|
|
@@ -247,8 +261,11 @@ class ASTToJSONVisitor(NodeVisitor):
|
|
|
247
261
|
|
|
248
262
|
# Add z coordinate if sheet data exists
|
|
249
263
|
if sheet_code:
|
|
250
|
-
#
|
|
251
|
-
|
|
264
|
+
# Find z coordinate based on sheet position in context
|
|
265
|
+
z_index = 1 # default
|
|
266
|
+
if context_sheets and sheet_code in context_sheets:
|
|
267
|
+
z_index = context_sheets.index(sheet_code) + 1
|
|
268
|
+
transformed_record['z'] = z_index
|
|
252
269
|
|
|
253
270
|
# Note: column and row are at VarID level, not in data entries
|
|
254
271
|
|
|
@@ -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.1.
|
|
44
|
+
__version__ = "0.1.39rc25"
|
|
45
45
|
__author__ = "MeaningfulData S.L."
|
|
46
46
|
__email__ = "info@meaningfuldata.eu"
|
|
47
47
|
__license__ = "GPL-3.0-or-later"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "pydpm_xl"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.39rc25"
|
|
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.1.
|
|
55
|
+
version = "0.1.39rc25"
|
|
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
|
{pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/ValidationsGeneration/VariantsProcessor.py
RENAMED
|
File without changes
|
|
File without changes
|
{pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/ValidationsGeneration/auxiliary_functions.py
RENAMED
|
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
|
{pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/operations_versions_from_module_version.sql
RENAMED
|
File without changes
|
|
File without changes
|
{pydpm_xl-0.1.39rc24 → pydpm_xl-0.1.39rc25}/py_dpm/views/report_type_operand_reference_info.sql
RENAMED
|
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
|