FloorManager / src /utils /helpers.py
BolyosCsaba
initial commit
148a4a7
"""Helper utility functions"""
import uuid
from datetime import datetime
from typing import Any, Dict, List
def generate_id() -> str:
"""Generate a unique ID"""
return str(uuid.uuid4())
def generate_message_id() -> str:
"""Generate a unique message ID"""
return f"msg_{uuid.uuid4().hex[:16]}"
def generate_session_id() -> str:
"""Generate a unique session ID"""
return f"session_{uuid.uuid4().hex[:12]}"
def get_timestamp() -> str:
"""Get current ISO 8601 timestamp"""
return datetime.utcnow().isoformat() + "Z"
def format_agent_name(agent_id: str, name: str = None) -> str:
"""Format agent display name"""
if name:
return f"{name} ({agent_id[:8]}...)"
return f"Agent {agent_id[:8]}..."
def truncate_text(text: str, max_length: int = 100) -> str:
"""Truncate text with ellipsis"""
if len(text) <= max_length:
return text
return text[:max_length - 3] + "..."
def safe_get(dictionary: Dict, *keys: str, default: Any = None) -> Any:
"""Safely get nested dictionary value"""
result = dictionary
for key in keys:
if isinstance(result, dict):
result = result.get(key)
else:
return default
if result is None:
return default
return result