fix: Handle date objects in JSON serialization for KRS audit
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
3069a232ca
commit
fa8645dc26
12
app.py
12
app.py
@ -8783,18 +8783,20 @@ def api_krs_audit_trigger():
|
||||
audit.pkd_count = 1 if parsed_data.get('pkd_przewazajacy') else 0
|
||||
audit.pkd_count += len(parsed_data.get('pkd_pozostale', []))
|
||||
|
||||
# Convert Decimal values to float for JSON serialization
|
||||
def decimal_to_float(obj):
|
||||
# Convert non-JSON-serializable values for JSONB storage
|
||||
def make_json_serializable(obj):
|
||||
from decimal import Decimal
|
||||
if isinstance(obj, Decimal):
|
||||
return float(obj)
|
||||
elif isinstance(obj, (datetime, date)):
|
||||
return obj.isoformat()
|
||||
elif isinstance(obj, dict):
|
||||
return {k: decimal_to_float(v) for k, v in obj.items()}
|
||||
return {k: make_json_serializable(v) for k, v in obj.items()}
|
||||
elif isinstance(obj, list):
|
||||
return [decimal_to_float(i) for i in obj]
|
||||
return [make_json_serializable(i) for i in obj]
|
||||
return obj
|
||||
|
||||
audit.parsed_data = decimal_to_float(parsed_data)
|
||||
audit.parsed_data = make_json_serializable(parsed_data)
|
||||
audit.pdf_downloaded_at = datetime.now()
|
||||
|
||||
# Update company with parsed data
|
||||
|
||||
Loading…
Reference in New Issue
Block a user