Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -43,23 +43,19 @@ 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 |
-
# 如果 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
|
| 55 |
except (ValueError, TypeError):
|
| 56 |
-
num_items = 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,7 +66,7 @@ def get_news(rss_url: str, max_items: int) -> str:
|
|
| 70 |
news_output += f"- 標題: {title}\n"
|
| 71 |
news_output += f" 連結: {link}\n"
|
| 72 |
if summary:
|
| 73 |
-
#
|
| 74 |
import re
|
| 75 |
clean_summary = re.sub(r'<[^>]+>', '', summary)
|
| 76 |
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 |
+
# 預設顯示 5 條
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 為 null。"
|
| 59 |
|
| 60 |
news_output = f"來自 {url_to_fetch} 的最新新聞 (最多 {num_items} 條):\n"
|
| 61 |
for entry in feed.entries[:num_items]:
|
|
|
|
| 66 |
news_output += f"- 標題: {title}\n"
|
| 67 |
news_output += f" 連結: {link}\n"
|
| 68 |
if summary:
|
| 69 |
+
# 清理 HTML 標籤,並截斷摘要長度
|
| 70 |
import re
|
| 71 |
clean_summary = re.sub(r'<[^>]+>', '', summary)
|
| 72 |
news_output += f" 摘要: {clean_summary[:100]}...\n" # 顯示前100個字元
|