dc-python-sdk 1.5.31__tar.gz → 1.5.32__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.
- {dc_python_sdk-1.5.31/src/dc_python_sdk.egg-info → dc_python_sdk-1.5.32}/PKG-INFO +1 -1
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/pyproject.toml +1 -1
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/setup.cfg +1 -1
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32/src/dc_python_sdk.egg-info}/PKG-INFO +1 -1
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/handler.py +15 -1
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/LICENSE +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/README.md +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_python_sdk.egg-info/SOURCES.txt +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_python_sdk.egg-info/dependency_links.txt +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_python_sdk.egg-info/entry_points.txt +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_python_sdk.egg-info/requires.txt +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_python_sdk.egg-info/top_level.txt +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/__init__.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/app.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/cli.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/errors.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/__init__.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/ai.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/ai_http.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/mapping.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/models/__init__.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/models/enums.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/models/errors.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/models/log_templates.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/models/pipeline_details.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/pipeline.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/server.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/services/__init__.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/services/api.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/services/aws.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/services/environment.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/services/loader.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/services/logger.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/src/services/session.py +0 -0
- {dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_sdk/types.py +0 -0
|
@@ -16,6 +16,14 @@ def apply_data_filters(results, data_filters):
|
|
|
16
16
|
if not data_filters:
|
|
17
17
|
return results
|
|
18
18
|
|
|
19
|
+
# Connectors may return either:
|
|
20
|
+
# 1) a bare list of rows, or
|
|
21
|
+
# 2) an envelope: {"data": [...], "next_page": ...}
|
|
22
|
+
is_envelope = isinstance(results, dict) and isinstance(results.get("data"), list)
|
|
23
|
+
rows = results.get("data") if is_envelope else results
|
|
24
|
+
if not isinstance(rows, list):
|
|
25
|
+
return results
|
|
26
|
+
|
|
19
27
|
# 🔹 UI → backend operator mapping
|
|
20
28
|
OPERATOR_MAP = {
|
|
21
29
|
# text
|
|
@@ -75,6 +83,9 @@ def apply_data_filters(results, data_filters):
|
|
|
75
83
|
val1 = f.get("value_1_txt")
|
|
76
84
|
val2 = f.get("value_2_txt")
|
|
77
85
|
|
|
86
|
+
# Some connectors can emit non-dict rows; keep filtering resilient.
|
|
87
|
+
if not isinstance(row, dict):
|
|
88
|
+
return False
|
|
78
89
|
row_val = row.get(col)
|
|
79
90
|
|
|
80
91
|
# ---- EMPTY HANDLING ----
|
|
@@ -131,7 +142,10 @@ def apply_data_filters(results, data_filters):
|
|
|
131
142
|
return True
|
|
132
143
|
|
|
133
144
|
# 🔹 Apply filters (AND logic)
|
|
134
|
-
|
|
145
|
+
filtered_rows = [row for row in rows if all(match(row, f) for f in data_filters)]
|
|
146
|
+
if is_envelope:
|
|
147
|
+
return {**results, "data": filtered_rows}
|
|
148
|
+
return filtered_rows
|
|
135
149
|
|
|
136
150
|
|
|
137
151
|
def handler(event, context):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dc_python_sdk-1.5.31 → dc_python_sdk-1.5.32}/src/dc_python_sdk.egg-info/dependency_links.txt
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
|