123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- from contextlib import contextmanager
- from datetime import datetime
- from extensions.ext_database import db
- from models.model import Message
- def filter_none_values(data: dict):
- new_data = {}
- for key, value in data.items():
- if value is None:
- continue
- if isinstance(value, datetime):
- new_data[key] = value.isoformat()
- else:
- new_data[key] = value
- return new_data
- def get_message_data(message_id):
- return db.session.query(Message).filter(Message.id == message_id).first()
- @contextmanager
- def measure_time():
- timing_info = {"start": datetime.now(), "end": None}
- try:
- yield timing_info
- finally:
- timing_info["end"] = datetime.now()
- def replace_text_with_content(data):
- if isinstance(data, dict):
- new_data = {}
- for key, value in data.items():
- if key == "text":
- new_data["content"] = value
- else:
- new_data[key] = replace_text_with_content(value)
- return new_data
- elif isinstance(data, list):
- return [replace_text_with_content(item) for item in data]
- else:
- return data
|