Bump version to v1.5.3

This commit is contained in:
Oliver 2025-07-11 09:44:31 +02:00
parent c49864c4aa
commit 4eaef89be8
No known key found for this signature in database
10 changed files with 3098 additions and 19 deletions

71
pages/01_feed_manager.py Normal file
View file

@ -0,0 +1,71 @@
# pages/01_feed_manager.py
import streamlit as st
from main import load_feeds, save_feeds, load_articles
import logging
# === Logging vorbereiten ===
log_dir = "logs"
log_file = f"{log_dir}/rss_tool.log"
logging.basicConfig(
filename=log_file,
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s"
)
st.set_page_config(page_title="📡 Feed-Verwaltung")
st.title("📡 RSS Feed-Verwaltung")
feeds = load_feeds()
articles = load_articles()
# === Neuen Feed hinzufügen ===
st.subheader(" Neuen Feed hinzufügen")
with st.form("add_feed_form"):
new_url = st.text_input("Feed URL", "")
new_name = st.text_input("Feed Name", "")
submitted = st.form_submit_button("Feed hinzufügen")
if submitted:
if new_url and new_name:
if not any(f.get("url") == new_url for f in feeds):
feeds.append({"url": new_url, "name": new_name})
save_feeds(feeds)
logging.info(f"🔗 Neuer Feed hinzugefügt: {new_name} ({new_url})")
st.success(f"Feed '{new_name}' hinzugefügt.")
st.rerun()
else:
st.warning("⚠️ Dieser Feed existiert bereits.")
else:
st.error("❌ Bitte gib sowohl URL als auch Name ein.")
# === Bestehende Feeds bearbeiten ===
st.subheader("🛠️ Vorhandene Feeds bearbeiten oder löschen")
for idx, feed in enumerate(feeds):
with st.expander(f"🔗 {feed.get('name')}"):
url = st.text_input(f"Feed-URL {idx}", value=feed.get("url"), key=f"url_{idx}")
name = st.text_input(f"Feed-Name {idx}", value=feed.get("name"), key=f"name_{idx}")
count = sum(1 for a in articles if a.get("source") == feed.get("url"))
col1, col2 = st.columns(2)
with col1:
if st.button("💾 Änderungen speichern", key=f"save_{idx}"):
old_url, old_name = feed.get("url"), feed.get("name")
feeds[idx]["url"] = url
feeds[idx]["name"] = name
save_feeds(feeds)
logging.info(f"✏️ Feed geändert: '{old_name}' ({old_url}) → '{name}' ({url})")
st.success("Änderungen gespeichert.")
st.rerun()
with col2:
if st.button("🗑️ Feed löschen", key=f"delete_{idx}"):
deleted_feed = feeds.pop(idx)
save_feeds(feeds)
logging.info(f"❌ Feed gelöscht: {deleted_feed.get('name')} ({deleted_feed.get('url')})")
st.warning("Feed gelöscht.")
st.rerun()
st.caption(f"📰 Verknüpfte Artikel: {count}")