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

1""" 

2News question generation implementation. 

3""" 

4 

5from datetime import datetime, UTC 

6from typing import List, Dict 

7 

8from loguru import logger 

9 

10from .base_question import BaseQuestionGenerator 

11 

12 

13class NewsQuestionGenerator(BaseQuestionGenerator): 

14 """News-specific question generator for aggregating current news.""" 

15 

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") 

25 

26 logger.info("Generating news search queries...") 

27 

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 ] 

39 

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] 

48 

49 return base_queries[:questions_per_iteration]