nebu 0.1.128__tar.gz → 0.1.130__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.
- {nebu-0.1.128/src/nebu.egg-info → nebu-0.1.130}/PKG-INFO +1 -1
- {nebu-0.1.128 → nebu-0.1.130}/pyproject.toml +1 -1
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/processors/decorate.py +1 -1
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/processors/processor.py +22 -8
- {nebu-0.1.128 → nebu-0.1.130/src/nebu.egg-info}/PKG-INFO +1 -1
- {nebu-0.1.128 → nebu-0.1.130}/LICENSE +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/README.md +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/setup.cfg +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/__init__.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/auth.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/builders/builder.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/builders/models.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/cache.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/config.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/containers/container.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/containers/models.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/data.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/errors.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/logging.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/meta.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/namespaces/models.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/namespaces/namespace.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/orign.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/processors/consumer.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/processors/consumer_health_worker.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/processors/consumer_process_worker.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/processors/default.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/processors/models.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/redis/models.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu/services/service.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu.egg-info/SOURCES.txt +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu.egg-info/dependency_links.txt +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu.egg-info/requires.txt +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/src/nebu.egg-info/top_level.txt +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/tests/test_bucket.py +0 -0
- {nebu-0.1.128 → nebu-0.1.130}/tests/test_containers.py +0 -0
@@ -227,7 +227,7 @@ def extract_definition_source_from_string(
|
|
227
227
|
)
|
228
228
|
return last_found_source # Found last definition, return immediately
|
229
229
|
|
230
|
-
except (SyntaxError, ValueError)
|
230
|
+
except (SyntaxError, ValueError):
|
231
231
|
# logger.debug(f"extract: Skipping cell #{cell_num} due to parse error: {e}") # Can be verbose
|
232
232
|
continue
|
233
233
|
except Exception as e:
|
@@ -405,7 +405,7 @@ class Processor(Generic[InputType, OutputType]):
|
|
405
405
|
)
|
406
406
|
|
407
407
|
individual_poll_timeout = max(10.0, poll_interval_seconds * 2)
|
408
|
-
logger.
|
408
|
+
logger.info(
|
409
409
|
f"Processor {processor_name}: Making polling attempt for {message_id}, attempt timeout: {individual_poll_timeout}s"
|
410
410
|
)
|
411
411
|
try:
|
@@ -421,14 +421,28 @@ class Processor(Generic[InputType, OutputType]):
|
|
421
421
|
f"Processor {processor_name}: Successfully retrieved message {message_id} via polling. Status: 200."
|
422
422
|
)
|
423
423
|
try:
|
424
|
-
|
425
|
-
if
|
426
|
-
|
424
|
+
polled_data_full = poll_response.json()
|
425
|
+
if (
|
426
|
+
isinstance(polled_data_full, dict)
|
427
|
+
and "content" in polled_data_full
|
428
|
+
):
|
429
|
+
# Extract the nested content for Pydantic validation
|
430
|
+
raw_content = polled_data_full.get("content")
|
431
|
+
logger.debug(
|
432
|
+
f"Processor {processor_name}: Extracted nested 'content' from polled data for {message_id}. Nested content: {str(raw_content)[:200]}..."
|
433
|
+
)
|
434
|
+
elif isinstance(polled_data_full, (dict, list, str)):
|
435
|
+
# Fallback: use the full polled data if 'content' key is not present in a dict, or if it's not a dict itself.
|
436
|
+
raw_content = polled_data_full
|
437
|
+
logger.warning(
|
438
|
+
f"Processor {processor_name}: Polled data for {message_id} did not contain a 'content' key as expected, or was not a dict. Using full polled data. Type: {type(polled_data_full)}. Data: {str(polled_data_full)[:200]}..."
|
439
|
+
)
|
427
440
|
else:
|
441
|
+
# Unexpected type for polled_data_full
|
442
|
+
raw_content = polled_data_full
|
428
443
|
logger.warning(
|
429
|
-
f"Processor {processor_name}: Polled data for {message_id} is of unexpected type: {type(
|
444
|
+
f"Processor {processor_name}: Polled data for {message_id} is of an unexpected type: {type(polled_data_full)}. Content: {str(polled_data_full)[:200]}..."
|
430
445
|
)
|
431
|
-
raw_content = polled_data
|
432
446
|
except json.JSONDecodeError:
|
433
447
|
logger.error(
|
434
448
|
f"Processor {processor_name}: Failed to decode JSON from polling response for {message_id}. Response text: {poll_response.text[:200]}..."
|
@@ -439,11 +453,11 @@ class Processor(Generic[InputType, OutputType]):
|
|
439
453
|
break # Exit polling loop
|
440
454
|
|
441
455
|
elif poll_response.status_code == 404:
|
442
|
-
logger.
|
456
|
+
logger.info(
|
443
457
|
f"Processor {processor_name}: Message {message_id} not yet ready (404). Retrying in {poll_interval_seconds}s..."
|
444
458
|
)
|
445
459
|
elif poll_response.status_code == 202:
|
446
|
-
logger.
|
460
|
+
logger.info(
|
447
461
|
f"Processor {processor_name}: Message {message_id} processing (202). Retrying in {poll_interval_seconds}s..."
|
448
462
|
)
|
449
463
|
else:
|
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
|