Added functionality for exporting image, and cleaning up subreddits and stale tickers.
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user