seawolf2357 commited on
Commit
73ed8f5
·
verified ·
1 Parent(s): ae814df

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -11
app.py CHANGED
@@ -49,35 +49,49 @@ def search_serphouse(query, country, page, num_result):
49
  return f"Error: {str(e)}"
50
 
51
  def is_recent_news(time_str):
 
52
  if not time_str:
53
- return False
 
54
  time_parts = time_str.lower().split()
 
55
  if len(time_parts) < 2:
56
- return False
 
57
  try:
58
  value = int(time_parts[0])
59
  unit = time_parts[1]
 
60
  if unit in ['minute', 'minutes', 'hour', 'hours']:
61
- return True
62
- elif unit == 'day' or unit == 'days':
63
- return value <= 1 # 1일 이하인 경우 포함
 
 
 
 
 
 
64
  except ValueError:
65
- return False
66
- return False
67
 
68
  def format_results(results):
69
  all_results = "## All News Results\n\n"
70
  recent_results = "## Recent News Results (Within 1 Day)\n\n"
71
  debug_info = "## Debug Information\n\n"
72
 
 
 
73
  try:
74
  if isinstance(results, dict) and "results" in results and "news" in results["results"]:
75
  news_results = results["results"]["news"]
 
76
 
77
  for result in news_results:
78
  time_str = result.get("time", "Unknown time")
79
- is_recent = is_recent_news(time_str)
80
- debug_info += f"Time: {time_str}, Is Recent: {is_recent}\n"
81
 
82
  all_results += f"""
83
  ### [{result.get('title', 'No Title')}]({result.get('url', '#')})
@@ -106,16 +120,18 @@ def format_results(results):
106
  else:
107
  all_results += "*No valid news results found in the API response.*\n\n"
108
  recent_results += "*No valid news results found in the API response.*\n\n"
 
109
  except Exception as e:
110
  all_results += f"*Error processing results: {str(e)}*\n\n"
111
  recent_results += f"*Error processing results: {str(e)}*\n\n"
 
112
 
113
  return all_results, recent_results, debug_info
114
 
115
  def serphouse_search(query, country, page, num_result):
116
  results = search_serphouse(query, country, page, num_result)
117
  all_results, recent_results, debug_info = format_results(results)
118
- return f"Raw Results:\n\n```json\n{json.dumps(results, indent=2)}\n```\n\n{all_results}", recent_results, debug_info
119
 
120
  css = """
121
  footer {
@@ -132,7 +148,7 @@ iface = gr.Interface(
132
  gr.Slider(1, 100, 10, label="Number of Results")
133
  ],
134
  outputs=[
135
- gr.Textbox(label="All Results", lines=20),
136
  gr.Markdown(label="Recent Results (Within 1 Day)"),
137
  gr.Markdown(label="Debug Information")
138
  ],
 
49
  return f"Error: {str(e)}"
50
 
51
  def is_recent_news(time_str):
52
+ debug_info = f"Checking time: {time_str}\n"
53
  if not time_str:
54
+ debug_info += "Time string is empty\n"
55
+ return False, debug_info
56
  time_parts = time_str.lower().split()
57
+ debug_info += f"Time parts: {time_parts}\n"
58
  if len(time_parts) < 2:
59
+ debug_info += "Time parts less than 2\n"
60
+ return False, debug_info
61
  try:
62
  value = int(time_parts[0])
63
  unit = time_parts[1]
64
+ debug_info += f"Value: {value}, Unit: {unit}\n"
65
  if unit in ['minute', 'minutes', 'hour', 'hours']:
66
+ debug_info += "Within minutes or hours\n"
67
+ return True, debug_info
68
+ elif unit in ['day', 'days']:
69
+ is_recent = value <= 1
70
+ debug_info += f"Within days, is recent: {is_recent}\n"
71
+ return is_recent, debug_info
72
+ else:
73
+ debug_info += f"Unknown unit: {unit}\n"
74
+ return False, debug_info
75
  except ValueError:
76
+ debug_info += f"ValueError when parsing: {time_parts[0]}\n"
77
+ return False, debug_info
78
 
79
  def format_results(results):
80
  all_results = "## All News Results\n\n"
81
  recent_results = "## Recent News Results (Within 1 Day)\n\n"
82
  debug_info = "## Debug Information\n\n"
83
 
84
+ debug_info += f"Raw API Response:\n```json\n{json.dumps(results, indent=2)}\n```\n\n"
85
+
86
  try:
87
  if isinstance(results, dict) and "results" in results and "news" in results["results"]:
88
  news_results = results["results"]["news"]
89
+ debug_info += f"Number of news results: {len(news_results)}\n\n"
90
 
91
  for result in news_results:
92
  time_str = result.get("time", "Unknown time")
93
+ is_recent, time_debug = is_recent_news(time_str)
94
+ debug_info += f"Article: {result.get('title', 'No Title')}\n{time_debug}\n"
95
 
96
  all_results += f"""
97
  ### [{result.get('title', 'No Title')}]({result.get('url', '#')})
 
120
  else:
121
  all_results += "*No valid news results found in the API response.*\n\n"
122
  recent_results += "*No valid news results found in the API response.*\n\n"
123
+ debug_info += "Invalid or unexpected API response structure\n"
124
  except Exception as e:
125
  all_results += f"*Error processing results: {str(e)}*\n\n"
126
  recent_results += f"*Error processing results: {str(e)}*\n\n"
127
+ debug_info += f"Exception occurred: {str(e)}\n"
128
 
129
  return all_results, recent_results, debug_info
130
 
131
  def serphouse_search(query, country, page, num_result):
132
  results = search_serphouse(query, country, page, num_result)
133
  all_results, recent_results, debug_info = format_results(results)
134
+ return all_results, recent_results, debug_info
135
 
136
  css = """
137
  footer {
 
148
  gr.Slider(1, 100, 10, label="Number of Results")
149
  ],
150
  outputs=[
151
+ gr.Markdown(label="All Results"),
152
  gr.Markdown(label="Recent Results (Within 1 Day)"),
153
  gr.Markdown(label="Debug Information")
154
  ],