seawolf2357 commited on
Commit
fbd003b
ยท
verified ยท
1 Parent(s): c56613a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -18
app.py CHANGED
@@ -58,8 +58,11 @@ def search_serphouse(query, country, page, num_result):
58
 
59
  def format_results_from_raw(results):
60
  try:
 
 
 
61
  if isinstance(results, dict) and "error" in results:
62
- return "Error: " + results["error"]
63
 
64
  if not isinstance(results, dict):
65
  raise ValueError("๊ฒฐ๊ณผ๊ฐ€ ์‚ฌ์ „ ํ˜•์‹์ด ์•„๋‹™๋‹ˆ๋‹ค.")
@@ -67,10 +70,8 @@ def format_results_from_raw(results):
67
  # 'results' ํ‚ค ๋‚ด๋ถ€์˜ ๊ตฌ์กฐ ํ™•์ธ
68
  if 'results' in results:
69
  results_content = results['results']
70
- # 'news' ๋˜๋Š” 'organic' ํ‚ค ํ™•์ธ
71
- if 'news' in results_content:
72
- news_results = results_content['news']
73
- elif 'organic' in results_content:
74
  news_results = results_content['organic']
75
  else:
76
  news_results = []
@@ -78,16 +79,16 @@ def format_results_from_raw(results):
78
  news_results = []
79
 
80
  if not news_results:
81
- return "๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค."
82
 
83
  formatted_articles = ""
84
  for result in news_results:
85
  title = result.get("title", "์ œ๋ชฉ ์—†์Œ")
86
  link = result.get("url", result.get("link", "#"))
87
  snippet = result.get("snippet", "๋‚ด์šฉ ์—†์Œ")
88
- channel = result.get("channel", result.get("source", "์•Œ ์ˆ˜ ์—†์Œ"))
89
- time = result.get("time", result.get("date", "์•Œ ์ˆ˜ ์—†๋Š” ์‹œ๊ฐ„"))
90
- image_url = result.get("img", result.get("thumbnail", ""))
91
 
92
  # ์ด๋ฏธ์ง€ ํƒœ๊ทธ ์ƒ์„ฑ
93
  if image_url:
@@ -98,25 +99,23 @@ def format_results_from_raw(results):
98
  article_html = f"""
99
  <div style="margin-bottom: 20px; border-bottom: 1px solid #ccc; padding-bottom: 20px;">
100
  <h3><a href="{link}" target="_blank">{title}</a></h3>
101
- <p><strong>{channel}</strong> - {time}</p>
102
  {image_html}
103
  <p>{snippet}</p>
104
  </div>
105
  """
106
  formatted_articles += article_html
107
 
108
- return formatted_articles
109
 
110
  except Exception as e:
111
- return f"๊ฒฐ๊ณผ ์ฒ˜๋ฆฌ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {str(e)}"
 
 
112
 
113
  def serphouse_search(query, country, page, num_result):
114
  results = search_serphouse(query, country, page, num_result)
115
- # ๋””๋ฒ„๊ทธ ์ •๋ณด ์ƒ์„ฑ
116
- debug_info = f"Raw API Response:\n{json.dumps(results, indent=2, ensure_ascii=False)}\n\n"
117
- # ๊ธฐ์‚ฌ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
118
- formatted_articles = format_results_from_raw(results)
119
- # ๊ธฐ์‚ฌ ๋ฆฌ์ŠคํŠธ์™€ ๋””๋ฒ„๊ทธ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜
120
  return formatted_articles, debug_info
121
 
122
  css = """
@@ -139,7 +138,7 @@ iface = gr.Interface(
139
  ],
140
  title="24์‹œ๊ฐ„ ์ด๋‚ด ๋‰ด์Šค ๊ฒ€์ƒ‰ ์ธํ„ฐํŽ˜์ด์Šค",
141
  description="๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๊ตญ๊ฐ€๋ฅผ ์„ ํƒํ•˜์—ฌ 24์‹œ๊ฐ„ ์ด๋‚ด์˜ ๋‰ด์Šค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.",
142
- theme="Nymbo/Nymbo_Theme",
143
  css=css
144
  )
145
 
 
58
 
59
  def format_results_from_raw(results):
60
  try:
61
+ # ๋””๋ฒ„๊ทธ ์ •๋ณด ์ถœ๋ ฅ
62
+ debug_info = f"Raw API Response:\n{json.dumps(results, indent=2, ensure_ascii=False)}\n\n"
63
+
64
  if isinstance(results, dict) and "error" in results:
65
+ return "Error: " + results["error"], debug_info
66
 
67
  if not isinstance(results, dict):
68
  raise ValueError("๊ฒฐ๊ณผ๊ฐ€ ์‚ฌ์ „ ํ˜•์‹์ด ์•„๋‹™๋‹ˆ๋‹ค.")
 
70
  # 'results' ํ‚ค ๋‚ด๋ถ€์˜ ๊ตฌ์กฐ ํ™•์ธ
71
  if 'results' in results:
72
  results_content = results['results']
73
+ # 'organic' ํ‚ค ํ™•์ธ
74
+ if 'organic' in results_content:
 
 
75
  news_results = results_content['organic']
76
  else:
77
  news_results = []
 
79
  news_results = []
80
 
81
  if not news_results:
82
+ return "๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.", debug_info
83
 
84
  formatted_articles = ""
85
  for result in news_results:
86
  title = result.get("title", "์ œ๋ชฉ ์—†์Œ")
87
  link = result.get("url", result.get("link", "#"))
88
  snippet = result.get("snippet", "๋‚ด์šฉ ์—†์Œ")
89
+ source = result.get("source", result.get("channel", "์•Œ ์ˆ˜ ์—†์Œ"))
90
+ date = result.get("date", result.get("time", "์•Œ ์ˆ˜ ์—†๋Š” ์‹œ๊ฐ„"))
91
+ image_url = result.get("thumbnail", result.get("img", ""))
92
 
93
  # ์ด๋ฏธ์ง€ ํƒœ๊ทธ ์ƒ์„ฑ
94
  if image_url:
 
99
  article_html = f"""
100
  <div style="margin-bottom: 20px; border-bottom: 1px solid #ccc; padding-bottom: 20px;">
101
  <h3><a href="{link}" target="_blank">{title}</a></h3>
102
+ <p><strong>{source}</strong> - {date}</p>
103
  {image_html}
104
  <p>{snippet}</p>
105
  </div>
106
  """
107
  formatted_articles += article_html
108
 
109
+ return formatted_articles, debug_info
110
 
111
  except Exception as e:
112
+ error_message = f"๊ฒฐ๊ณผ ์ฒ˜๋ฆฌ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {str(e)}"
113
+ debug_info = f"Error: {error_message}\n"
114
+ return "Error: " + error_message, debug_info
115
 
116
  def serphouse_search(query, country, page, num_result):
117
  results = search_serphouse(query, country, page, num_result)
118
+ formatted_articles, debug_info = format_results_from_raw(results)
 
 
 
 
119
  return formatted_articles, debug_info
120
 
121
  css = """
 
138
  ],
139
  title="24์‹œ๊ฐ„ ์ด๋‚ด ๋‰ด์Šค ๊ฒ€์ƒ‰ ์ธํ„ฐํŽ˜์ด์Šค",
140
  description="๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๊ตญ๊ฐ€๋ฅผ ์„ ํƒํ•˜์—ฌ 24์‹œ๊ฐ„ ์ด๋‚ด์˜ ๋‰ด์Šค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.",
141
+ theme="default",
142
  css=css
143
  )
144