diff --git a/centos_rss/centos_rss b/centos_rss/centos_rss index adf3c55849eb17a9e09509ef458aacd2a6a05156..14f35b2b0ccc73c101f76564d4ce928d8fc156bd 100755 --- a/centos_rss/centos_rss +++ b/centos_rss/centos_rss @@ -1,6 +1,7 @@ #!/usr/bin/python3 # Adapted from https://github.com/rbowen/centos-community-tools/blob/main/scripts/rss_updates.py import dnf +import glob import os import sys import urllib3 @@ -8,6 +9,7 @@ import sqlite3 import feedparser import re import requests +from datetime import datetime sql_db_file = os.getenv('SQL_DB_FILE') unformatted_interesting_packages = os.getenv('INTERESTING_PACKAGES') @@ -26,6 +28,10 @@ db = db_connection.cursor() db.execute('CREATE TABLE IF NOT EXISTS centosupdates (title TEXT, id TEXT)') +logfile_retain_days = 30 +logfilename = f"/sqldb/{datetime.today().strftime('%Y%m%d-%H%M')}.log" +logfile = open(logfilename, 'w') + def read_release_feed(): """ Get packages from RSS feed """ feedbase = 'https://feeds.centos.org/'; @@ -70,7 +76,8 @@ def add_release_to_db(release_title, release_id): db_connection.commit() -def format_release( release, f): +def format_release(release, f): + logfile.write("\n" + release['title']) # check for epoch in name, and if it exists: ignore it try: name = dnf.subject.Subject(release['title'].split(':')[1]).get_nevra_possibilities()[0].name @@ -84,3 +91,11 @@ def format_release( release, f): if __name__ == '__main__': read_release_feed() db_connection.close() + logfile.close() + if os.stat(logfilename).st_size == 0: + os.remove(logfilename) + candidates = glob.glob('/sqldb/*.log') + for candidate in candidates: + if os.stat(candidate).st_mtime < (int(datetime.today().strftime('%s')) - logfile_retain_days * 86400): + print(f"{candidate} is older than {logfile_retain_days} days, removing") + os.remove(candidate) diff --git a/dev.variables.sh b/dev.variables.sh index bdaffa4a88f59757b800250bd9b36129289c9ba5..e4dabcdce596a2b293b3fe69f3a05904e79be3f8 100644 --- a/dev.variables.sh +++ b/dev.variables.sh @@ -3,4 +3,4 @@ SQL_DB_MOUNTPOINT="/mnt/data2/test/rss" SQL_DB_FILE="centos_rss_dev.sqlite" INTERESTING_PACKAGES="kernel,systemd,samba" FEEDS="centos-8-stream-x86_64-AppStream,centos-8-stream-x86_64-BaseOS,centos-8-stream-x86_64-PowerTools,centos-9-stream-x86_64-AppStream,centos-9-stream-x86_64-BaseOS,centos-9-stream-x86_64-CRB" -MATTERMOST_INTEGRATION_URL="https://mattermost.web.cern.ch/hooks/qiodnmzwbjg9zkyxkxoh1h47sh" +MATTERMOST_INTEGRATION_URL="https://mattermost.web.cern.ch/hooks/cy45ecb3kpgwbm88smkn4fa43h"