Underground-Digital/Workflow-Engine
0
1from contextlib import contextmanager2from datetime import datetime3 4from extensions.ext_database import db5from models.model import Message6 7 8def filter_none_values(data: dict):9 new_data = {}10 for key, value in data.items():11 if value is None:12 continue13 if isinstance(value, datetime):14 new_data[key] = value.isoformat()15 else:16 new_data[key] = value17 return new_data18 19 20def get_message_data(message_id):21 return db.session.query(Message).filter(Message.id == message_id).first()22 23 24@contextmanager25def measure_time():26 timing_info = {"start": datetime.now(), "end": None}27 try:28 yield timing_info29 finally:30 timing_info["end"] = datetime.now()31 32 33def replace_text_with_content(data):34 if isinstance(data, dict):35 new_data = {}36 for key, value in data.items():37 if key == "text":38 new_data["content"] = value39 else:40 new_data[key] = replace_text_with_content(value)41 return new_data42 elif isinstance(data, list):43 return [replace_text_with_content(item) for item in data]44 else:45 return data46 