Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
import os
|
2 |
-
from flask import Flask, render_template, request
|
3 |
-
from rss_processor import fetch_rss_feeds, process_and_store_articles, vector_db
|
4 |
import logging
|
5 |
|
6 |
app = Flask(__name__)
|
@@ -14,24 +14,24 @@ def index():
|
|
14 |
logger.info("Starting to fetch RSS feeds")
|
15 |
articles = fetch_rss_feeds()
|
16 |
logger.info(f"Fetched {len(articles)} articles")
|
17 |
-
process_and_store_articles(articles)
|
18 |
logger.info("Articles processed and stored")
|
19 |
stored_docs = vector_db.similarity_search("news", k=len(articles))
|
20 |
enriched_articles = [
|
21 |
{
|
22 |
"title": doc.metadata["title"],
|
23 |
"link": doc.metadata["link"],
|
24 |
-
"summary": doc.page_content,
|
25 |
"category": doc.metadata["category"],
|
26 |
"sentiment": doc.metadata["sentiment"],
|
27 |
"published": doc.metadata["published"],
|
28 |
-
"image": doc.metadata.get("image", "svg"),
|
29 |
}
|
30 |
for doc in stored_docs
|
31 |
]
|
32 |
logger.info(f"Enriched {len(enriched_articles)} articles for display")
|
33 |
|
34 |
-
if request.method == 'POST':
|
35 |
query = request.form.get('search')
|
36 |
if query:
|
37 |
logger.info(f"Processing search query: {query}")
|
@@ -40,7 +40,7 @@ def index():
|
|
40 |
{
|
41 |
"title": doc.metadata["title"],
|
42 |
"link": doc.metadata["link"],
|
43 |
-
"summary": doc.page_content,
|
44 |
"category": doc.metadata["category"],
|
45 |
"sentiment": doc.metadata["sentiment"],
|
46 |
"published": doc.metadata["published"],
|
@@ -59,5 +59,14 @@ def index():
|
|
59 |
|
60 |
return render_template("index.html", categorized_articles=categorized_articles)
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
if __name__ == "__main__":
|
63 |
app.run(host="0.0.0.0", port=7860)
|
|
|
1 |
import os
|
2 |
+
from flask import Flask, render_template, request, jsonify
|
3 |
+
from rss_processor import fetch_rss_feeds, process_and_store_articles, vector_db, summarize_article
|
4 |
import logging
|
5 |
|
6 |
app = Flask(__name__)
|
|
|
14 |
logger.info("Starting to fetch RSS feeds")
|
15 |
articles = fetch_rss_feeds()
|
16 |
logger.info(f"Fetched {len(articles)} articles")
|
17 |
+
process_and_store_articles(articles, summarize=False) # Skip summarization initially
|
18 |
logger.info("Articles processed and stored")
|
19 |
stored_docs = vector_db.similarity_search("news", k=len(articles))
|
20 |
enriched_articles = [
|
21 |
{
|
22 |
"title": doc.metadata["title"],
|
23 |
"link": doc.metadata["link"],
|
24 |
+
"summary": doc.page_content or doc.metadata["original_description"], # Use description if no summary
|
25 |
"category": doc.metadata["category"],
|
26 |
"sentiment": doc.metadata["sentiment"],
|
27 |
"published": doc.metadata["published"],
|
28 |
+
"image": doc.metadata.get("image", "svg"),
|
29 |
}
|
30 |
for doc in stored_docs
|
31 |
]
|
32 |
logger.info(f"Enriched {len(enriched_articles)} articles for display")
|
33 |
|
34 |
+
if request.method == 'POST' and 'search' in request.form:
|
35 |
query = request.form.get('search')
|
36 |
if query:
|
37 |
logger.info(f"Processing search query: {query}")
|
|
|
40 |
{
|
41 |
"title": doc.metadata["title"],
|
42 |
"link": doc.metadata["link"],
|
43 |
+
"summary": doc.page_content or doc.metadata["original_description"],
|
44 |
"category": doc.metadata["category"],
|
45 |
"sentiment": doc.metadata["sentiment"],
|
46 |
"published": doc.metadata["published"],
|
|
|
59 |
|
60 |
return render_template("index.html", categorized_articles=categorized_articles)
|
61 |
|
62 |
+
@app.route('/summarize', methods=['POST'])
|
63 |
+
def summarize():
|
64 |
+
data = request.get_json()
|
65 |
+
text = data.get('text')
|
66 |
+
logger.info(f"Received summarize request for text: {text[:50]}...")
|
67 |
+
summary = summarize_article(text)
|
68 |
+
logger.info(f"Generated summary: {summary}")
|
69 |
+
return jsonify({"summary": summary})
|
70 |
+
|
71 |
if __name__ == "__main__":
|
72 |
app.run(host="0.0.0.0", port=7860)
|