Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -43,19 +43,23 @@ def get_news(rss_url: str, max_items: int) -> str:
|
|
43 |
rss_url: https://rthk.hk/rthk/news/rss/c_expressnews_clocal.xml
|
44 |
max_items: 要顯示的最大新聞條目數量。
|
45 |
"""
|
46 |
-
|
|
|
|
|
|
|
|
|
47 |
try:
|
48 |
num_items = int(max_items)
|
49 |
if num_items <= 0:
|
50 |
-
num_items = 5
|
51 |
except (ValueError, TypeError):
|
52 |
-
num_items = 5
|
53 |
|
54 |
try:
|
55 |
feed = feedparser.parse(url_to_fetch)
|
56 |
|
57 |
if not feed.entries:
|
58 |
-
return f"無法從 {url_to_fetch} 獲取新聞,或者 RSS Feed
|
59 |
|
60 |
news_output = f"來自 {url_to_fetch} 的最新新聞 (最多 {num_items} 條):\n"
|
61 |
for entry in feed.entries[:num_items]:
|
@@ -66,7 +70,7 @@ def get_news(rss_url: str, max_items: int) -> str:
|
|
66 |
news_output += f"- 標題: {title}\n"
|
67 |
news_output += f" 連結: {link}\n"
|
68 |
if summary:
|
69 |
-
#
|
70 |
import re
|
71 |
clean_summary = re.sub(r'<[^>]+>', '', summary)
|
72 |
news_output += f" 摘要: {clean_summary[:100]}...\n" # 顯示前100個字元
|
|
|
43 |
rss_url: https://rthk.hk/rthk/news/rss/c_expressnews_clocal.xml
|
44 |
max_items: 要顯示的最大新聞條目數量。
|
45 |
"""
|
46 |
+
|
47 |
+
# 如果 rss_url 未提供或為空,則使用預設 URL
|
48 |
+
url_to_fetch = rss_url if rss_url and rss_url.strip() else DEFAULT_RSS_URL
|
49 |
+
|
50 |
+
# 確保 max_items 是正整數,如果不是或未提供,則使用預設值
|
51 |
try:
|
52 |
num_items = int(max_items)
|
53 |
if num_items <= 0:
|
54 |
+
num_items = 5 # 預設顯示 5 條
|
55 |
except (ValueError, TypeError):
|
56 |
+
num_items = 5 # 預設顯示 5 條
|
57 |
|
58 |
try:
|
59 |
feed = feedparser.parse(url_to_fetch)
|
60 |
|
61 |
if not feed.entries:
|
62 |
+
return f"無法從 {url_to_fetch} 獲取新聞,或者 RSS Feed 為空。"
|
63 |
|
64 |
news_output = f"來自 {url_to_fetch} 的最新新聞 (最多 {num_items} 條):\n"
|
65 |
for entry in feed.entries[:num_items]:
|
|
|
70 |
news_output += f"- 標題: {title}\n"
|
71 |
news_output += f" 連結: {link}\n"
|
72 |
if summary:
|
73 |
+
# 簡單清理 HTML 標籤 (如果有的話),並截斷摘要長度
|
74 |
import re
|
75 |
clean_summary = re.sub(r'<[^>]+>', '', summary)
|
76 |
news_output += f" 摘要: {clean_summary[:100]}...\n" # 顯示前100個字元
|