cdapython 2.0.5__tar.gz → 2.0.6__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.
- {cdapython-2.0.5 → cdapython-2.0.6}/CHANGELOG.md +1 -1
- {cdapython-2.0.5 → cdapython-2.0.6}/PKG-INFO +1 -1
- {cdapython-2.0.5 → cdapython-2.0.6}/cdapython/get_data.py +16 -1
- {cdapython-2.0.5 → cdapython-2.0.6}/pyproject.toml +1 -1
- {cdapython-2.0.5 → cdapython-2.0.6}/LICENSE +0 -0
- {cdapython-2.0.5 → cdapython-2.0.6}/README.md +0 -0
- {cdapython-2.0.5 → cdapython-2.0.6}/cdapython/__init__.py +0 -0
- {cdapython-2.0.5 → cdapython-2.0.6}/cdapython/application_utilities.py +0 -0
- {cdapython-2.0.5 → cdapython-2.0.6}/cdapython/config/__init__.py +0 -0
- {cdapython-2.0.5 → cdapython-2.0.6}/cdapython/config/logger_default_config.yml +0 -0
- {cdapython-2.0.5 → cdapython-2.0.6}/cdapython/discover.py +0 -0
- {cdapython-2.0.5 → cdapython-2.0.6}/cdapython/logging_wrappers.py +0 -0
- {cdapython-2.0.5 → cdapython-2.0.6}/cdapython/summarize.py +0 -0
- {cdapython-2.0.5 → cdapython-2.0.6}/cdapython/validation.py +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
2025-09-17: 2.0.
|
|
1
|
+
2025-09-17: 2.0.6: update ternary numeric comparison handling for latest API ternary operator syntax support
|
|
2
2
|
|
|
3
3
|
2025-08-18: 2.0.2: update PyYAML build dependency
|
|
4
4
|
|
|
@@ -632,7 +632,22 @@ def get_data(
|
|
|
632
632
|
# included only implicitly (by filters, not by add_columns).
|
|
633
633
|
|
|
634
634
|
for filter_query in set( queries_for_match_all ) | set( queries_for_match_any ):
|
|
635
|
-
|
|
635
|
+
# TO DO: Compartmentalize/parametrize this conditional check better: it repeats much that is already made explicit in validation.py.
|
|
636
|
+
filter_is_ternary = False
|
|
637
|
+
column_to_add = ''
|
|
638
|
+
match_result = re.search( r'^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S.*)$', filter_query )
|
|
639
|
+
if match_result is not None:
|
|
640
|
+
left_numeric = match_result.group(1)
|
|
641
|
+
left_operator = match_result.group(2)
|
|
642
|
+
column_name = match_result.group(3)
|
|
643
|
+
right_operator = match_result.group(4)
|
|
644
|
+
right_numeric = match_result.group(5)
|
|
645
|
+
if re.search( r'^[-+]?\d+(\.\d+)?$', left_numeric ) is not None and re.search( r'^[-+]?\d+(\.\d+)?$', right_numeric ) is not None and \
|
|
646
|
+
left_operator in { '<', '>', '<=', '>=' } and right_operator in { '<', '>', '<=', '>=' }:
|
|
647
|
+
filter_is_ternary = True
|
|
648
|
+
column_to_add = column_name
|
|
649
|
+
if not filter_is_ternary:
|
|
650
|
+
column_to_add = re.search( r'^(\S+)\s', filter_query ).group(1)
|
|
636
651
|
foreign_table_name = cached_column_metadata.query( f"column == '{column_to_add}'" )['table'].iloc[0]
|
|
637
652
|
# Check to see if we're already asking for provenance info from that table: if not, do, unless {table} is 'upstream_identifiers'.
|
|
638
653
|
if foreign_table_name != 'upstream_identifiers':
|
|
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
|