Skip to content
Snippets Groups Projects

Add textual logging

Merged Ben Morrice requested to merge addlogging into master
2 files
+ 17
2
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 16
1
#!/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)
Loading