mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-21 13:04:18 +02:00
Use dataclasses.asdict() for better maintainability
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
6a3a3077b7
commit
bc1e185141
1 changed files with 10 additions and 13 deletions
|
|
@ -492,26 +492,23 @@ def inspect(
|
|||
info = asyncio.run(get_info())
|
||||
|
||||
# Convert to dict for JSON serialization
|
||||
def convert_dataclass_to_dict(obj):
|
||||
"""Convert dataclass instances to dicts for JSON serialization."""
|
||||
if hasattr(obj, "__dataclass_fields__"):
|
||||
return {
|
||||
k: convert_dataclass_to_dict(v) for k, v in obj.__dict__.items()
|
||||
}
|
||||
elif isinstance(obj, list):
|
||||
return [convert_dataclass_to_dict(item) for item in obj]
|
||||
from dataclasses import asdict
|
||||
|
||||
def convert_for_json(obj):
|
||||
"""Convert objects for JSON serialization."""
|
||||
if isinstance(obj, list):
|
||||
return [convert_for_json(item) for item in obj]
|
||||
elif isinstance(obj, set):
|
||||
return list(obj)
|
||||
elif hasattr(obj, "model_dump"): # Pydantic models
|
||||
return obj.model_dump()
|
||||
elif hasattr(obj, "__dict__"): # Other objects with __dict__
|
||||
return {
|
||||
k: convert_dataclass_to_dict(v) for k, v in obj.__dict__.items()
|
||||
}
|
||||
else:
|
||||
return obj
|
||||
|
||||
info_dict = convert_dataclass_to_dict(info)
|
||||
info_dict = asdict(
|
||||
info,
|
||||
dict_factory=lambda fields: {k: convert_for_json(v) for k, v in fields},
|
||||
)
|
||||
|
||||
# Ensure output directory exists
|
||||
output.parent.mkdir(parents=True, exist_ok=True)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue