Added functionality for exporting image, and cleaning up subreddits and stale tickers.

This commit is contained in:
2025-07-22 14:30:23 +02:00
parent 6b4fb136e2
commit 966ef45916
7 changed files with 159 additions and 18 deletions

View File

@@ -105,6 +105,33 @@ def clean_stale_tickers():
conn.close()
print(f"Cleanup complete. Removed {deleted_count} records.")
def clean_stale_subreddits(active_subreddits):
"""
Removes all data associated with subreddits that are NOT in the active list.
"""
print("\n--- Cleaning Stale Subreddits from Database ---")
conn = get_db_connection()
cursor = conn.cursor()
cursor.execute("SELECT id, name FROM subreddits")
db_subreddits = cursor.fetchall()
stale_sub_ids = []
for sub in db_subreddits:
if sub['name'] not in active_subreddits:
print(f"Found stale subreddit to remove: r/{sub['name']}")
stale_sub_ids.append(sub['id'])
if not stale_sub_ids:
print("No stale subreddits to clean.")
conn.close()
return
for sub_id in stale_sub_ids:
print(f" -> Deleting associated data for subreddit ID: {sub_id}")
cursor.execute("DELETE FROM mentions WHERE subreddit_id = ?", (sub_id,))
cursor.execute("DELETE FROM posts WHERE subreddit_id = ?", (sub_id,))
cursor.execute("DELETE FROM subreddits WHERE id = ?", (sub_id,))
conn.commit()
conn.close()
print("Stale subreddit cleanup complete.")
def get_db_connection():
conn = sqlite3.connect(DB_FILE)
conn.row_factory = sqlite3.Row