75a0a3fde7
- Added `get_latest_email_date()` function in `database.py` to retrieve the most recent email date for a given account and folder. - Enhanced `fetch_folder_emails()` in `zoho_client.py` to intelligently determine the start date for fetching emails based on the latest email date in the database. - Introduced `analyze_and_update_threads_async()` for asynchronous analysis of email threads, allowing concurrent processing. - Created a synchronous wrapper `analyze_and_update_threads()` for easier integration. - Updated `fetch_emails()` to support database session and account email parameters. - Added comprehensive documentation in `AI_ANALYSIS_GUIDE.md` detailing the new AI analysis functionality. - Implemented tests for the new features, including `test_fetch_with_db.py`, `test_ai_analysis.py`, and `test_single_analysis.py`. - Added error handling and logging improvements throughout the codebase.
41 lines
838 B
Python
41 lines
838 B
Python
#!/usr/bin/env python3
|
|
"""
|
|
Reset AI analysis data for testing purposes.
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
|
|
# Add the src directory to the path
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "src"))
|
|
|
|
from database import SessionLocal, Thread
|
|
|
|
|
|
def main():
|
|
"""Reset analysis data for all threads."""
|
|
|
|
db = SessionLocal()
|
|
try:
|
|
# Reset analysis data
|
|
threads = db.query(Thread).all()
|
|
|
|
for thread in threads:
|
|
thread.actionable = False
|
|
thread.ai_summary = None
|
|
thread.ai_confidence = None
|
|
thread.last_analyzed_at = None
|
|
|
|
db.commit()
|
|
print(f"Reset analysis data for {len(threads)} threads")
|
|
|
|
except Exception as e:
|
|
print(f"Error: {e}")
|
|
db.rollback()
|
|
finally:
|
|
db.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|