25 lines
778 B
Python
25 lines
778 B
Python
import sqlalchemy
|
|
import datetime
|
|
|
|
from db import engine
|
|
|
|
"""
|
|
Remove all links and associated records when the expire date has passed
|
|
"""
|
|
def remove_old_data():
|
|
with engine.begin() as conn:
|
|
today = datetime.datetime.date(datetime.datetime.now())
|
|
old_links = conn.execute(sqlalchemy.text('SELECT link FROM links WHERE expire_date < :today'), [{'today': today}])
|
|
|
|
delete_links = []
|
|
|
|
for row in old_links:
|
|
link = row.link
|
|
delete_links.append({'link': link})
|
|
|
|
if delete_links:
|
|
with engine.begin() as conn:
|
|
conn.execute(sqlalchemy.text('DELETE FROM links WHERE link = :link'), delete_links)
|
|
conn.execute(sqlalchemy.text('DELETE FROM records WHERE link = :link'), delete_links)
|
|
conn.commit()
|