#!/usr/bin/python3
import sys
import subprocess
import feedgenerator

targetfile = 'test.rss'
tsfile = 'rss_tsfile.txt'

try:
    tsf = open(tsfile, 'r')
    ts_lasttime = tsf.readline().rstrip()
except:
    ts_lasttime = ""
else:
    tsf.close()

feed = feedgenerator.Rss201rev2Feed(
        title='Dwarfg at DOMIP RSS',
        link='https://DOMIP/rss',
        description='Event log feed for MAMAS installation at DOMIP.',
        language='en')
proc = subprocess.run(['mysql', 'mamas', '-Nse', 'select log_events.time, log_event_type.name, log_events.value, log_events.extra_id, log_events.msg from log_events join log_event_type on log_events.evtype = log_event_type.id order by time DESC limit 100'], stdout=subprocess.PIPE, text=True)
linelist = proc.stdout.splitlines()
lasttime = linelist[0].split('\t')[0]
if (ts_lasttime == lasttime):
    print("No new events...")
    sys.exit(0)
print("last time is " + lasttime)
for line in linelist:
    x = line.split('\t')
    if (str(x[4])):
        desc = str(x[4])
    else:
        desc = ""
    if (str(x[2]) != "NULL"):
        desc = desc + " val=" + str(x[2])
    if (str(x[3]) != "NULL"):
        desc = desc + " eid=" + str(x[3])
    feed.add_item(title=str(x[1]), link='', description=desc)
    with open(targetfile, 'w') as fp:
        feed.write(fp, 'utf-8')
tsf = open(tsfile, 'w')
tsf.write(lasttime + '\n')
tsf.close()


#with open('test.rss', 'w') as fp:
#    feed.write(fp, 'utf-8')
##feed.add_item(title="title1", link="https://mam.cz/34", description="desc1")
#
#with open('test.rss', 'w') as fp:
#    feed.write(fp, 'utf-8')


