mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 10:53:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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
 | 
