Coverage for src / local_deep_research / advanced_search_system / questions / news_question.py: 40%
13 statements
« prev ^ index » next coverage.py v7.12.0, created at 2026-01-11 00:51 +0000
« prev ^ index » next coverage.py v7.12.0, created at 2026-01-11 00:51 +0000
1"""
2News question generation implementation.
3"""
5from datetime import datetime, UTC
6from typing import List, Dict
8from loguru import logger
10from .base_question import BaseQuestionGenerator
13class NewsQuestionGenerator(BaseQuestionGenerator):
14 """News-specific question generator for aggregating current news."""
16 def generate_questions(
17 self,
18 current_knowledge: str,
19 query: str,
20 questions_per_iteration: int = 8,
21 questions_by_iteration: Dict[int, List[str]] = None,
22 ) -> List[str]:
23 """Generate news-specific search queries."""
24 date_str = datetime.now(UTC).strftime("%B %d, %Y")
26 logger.info("Generating news search queries...")
28 # Build diverse news queries
29 base_queries = [
30 f"breaking news today {date_str}",
31 f"major incidents casualties today {date_str}",
32 f"unexpected news surprising today {date_str}",
33 "economic news market movement today",
34 f"political announcements today {date_str}",
35 "technology breakthrough announcement today",
36 "natural disaster emergency today",
37 "international news global impact today",
38 ]
40 # If user provided specific focus, add those queries
41 if query and query != "latest important news today":
42 focus_queries = [
43 f"{query} {date_str}",
44 f"{query} breaking news today",
45 f"{query} latest developments",
46 ]
47 return focus_queries + base_queries[:5]
49 return base_queries[:questions_per_iteration]