Update app.py
Browse files
app.py
CHANGED
@@ -58,8 +58,10 @@ def search_serphouse(query, country, page, num_result):
|
|
58 |
return {"error": error_msg}
|
59 |
|
60 |
def format_results(results):
|
|
|
|
|
61 |
if isinstance(results, dict) and "error" in results:
|
62 |
-
return pd.DataFrame({"Error": [results["error"]]})
|
63 |
|
64 |
try:
|
65 |
if not isinstance(results, dict):
|
@@ -69,9 +71,10 @@ def format_results(results):
|
|
69 |
raise ValueError("'results' ํค๊ฐ ์๋ต์ ์์ต๋๋ค.")
|
70 |
|
71 |
news_results = results["results"].get("news", [])
|
|
|
72 |
|
73 |
if not news_results:
|
74 |
-
return pd.DataFrame({"Message": ["๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ์์ต๋๋ค."]})
|
75 |
|
76 |
formatted_results = []
|
77 |
for result in news_results:
|
@@ -83,14 +86,16 @@ def format_results(results):
|
|
83 |
"์๊ฐ": result.get("time", "์ ์ ์๋ ์๊ฐ")
|
84 |
})
|
85 |
|
86 |
-
return pd.DataFrame(formatted_results)
|
87 |
|
88 |
except Exception as e:
|
89 |
-
|
|
|
90 |
|
91 |
def serphouse_search(query, country, page, num_result):
|
92 |
results = search_serphouse(query, country, page, num_result)
|
93 |
-
|
|
|
94 |
|
95 |
css = """
|
96 |
footer {
|
@@ -106,7 +111,10 @@ iface = gr.Interface(
|
|
106 |
gr.Slider(1, 10, 1, label="ํ์ด์ง"),
|
107 |
gr.Slider(1, 100, 10, label="๊ฒฐ๊ณผ ์")
|
108 |
],
|
109 |
-
outputs=
|
|
|
|
|
|
|
110 |
title="24์๊ฐ ์ด๋ด ๋ด์ค ๊ฒ์ ์ธํฐํ์ด์ค",
|
111 |
description="๊ฒ์์ด๋ฅผ ์
๋ ฅํ๊ณ ๊ตญ๊ฐ๋ฅผ ์ ํํ์ฌ 24์๊ฐ ์ด๋ด์ ๋ด์ค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.",
|
112 |
theme="Nymbo/Nymbo_Theme",
|
|
|
58 |
return {"error": error_msg}
|
59 |
|
60 |
def format_results(results):
|
61 |
+
debug_info = f"Raw API Response:\n{json.dumps(results, indent=2, ensure_ascii=False)}\n\n"
|
62 |
+
|
63 |
if isinstance(results, dict) and "error" in results:
|
64 |
+
return pd.DataFrame({"Error": [results["error"]]}), debug_info
|
65 |
|
66 |
try:
|
67 |
if not isinstance(results, dict):
|
|
|
71 |
raise ValueError("'results' ํค๊ฐ ์๋ต์ ์์ต๋๋ค.")
|
72 |
|
73 |
news_results = results["results"].get("news", [])
|
74 |
+
debug_info += f"๋ด์ค ๊ฒฐ๊ณผ ์: {len(news_results)}\n"
|
75 |
|
76 |
if not news_results:
|
77 |
+
return pd.DataFrame({"Message": ["๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ์์ต๋๋ค."]}), debug_info
|
78 |
|
79 |
formatted_results = []
|
80 |
for result in news_results:
|
|
|
86 |
"์๊ฐ": result.get("time", "์ ์ ์๋ ์๊ฐ")
|
87 |
})
|
88 |
|
89 |
+
return pd.DataFrame(formatted_results), debug_info
|
90 |
|
91 |
except Exception as e:
|
92 |
+
error_message = f"๊ฒฐ๊ณผ ์ฒ๋ฆฌ ์ค ์ค๋ฅ ๋ฐ์: {str(e)}"
|
93 |
+
return pd.DataFrame({"Error": [error_message]}), debug_info
|
94 |
|
95 |
def serphouse_search(query, country, page, num_result):
|
96 |
results = search_serphouse(query, country, page, num_result)
|
97 |
+
df_results, debug_info = format_results(results)
|
98 |
+
return df_results, debug_info
|
99 |
|
100 |
css = """
|
101 |
footer {
|
|
|
111 |
gr.Slider(1, 10, 1, label="ํ์ด์ง"),
|
112 |
gr.Slider(1, 100, 10, label="๊ฒฐ๊ณผ ์")
|
113 |
],
|
114 |
+
outputs=[
|
115 |
+
gr.Dataframe(label="๋ด์ค ๊ฒฐ๊ณผ"),
|
116 |
+
gr.Textbox(label="๋๋ฒ๊ทธ ์ ๋ณด", lines=10)
|
117 |
+
],
|
118 |
title="24์๊ฐ ์ด๋ด ๋ด์ค ๊ฒ์ ์ธํฐํ์ด์ค",
|
119 |
description="๊ฒ์์ด๋ฅผ ์
๋ ฅํ๊ณ ๊ตญ๊ฐ๋ฅผ ์ ํํ์ฌ 24์๊ฐ ์ด๋ด์ ๋ด์ค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.",
|
120 |
theme="Nymbo/Nymbo_Theme",
|