Fields are generated from config file

pull/18/head
= 2017-09-12 12:27:35 +02:00
parent dd9fd918dc
commit c4d7a531be
2 changed files with 20 additions and 15 deletions

View File

@ -24,7 +24,9 @@ eventNumber = 0
class LogItem(): class LogItem():
FIELDNAME_ORDER = [ 'time', 'level', 'source', 'name', 'message' ] FIELDNAME_ORDER = []
for item in json.loads(cfg.get('Log', 'fieldname_order')):
FIELDNAME_ORDER.append(item)
#def __init__(self, feed='', time='', level='level', src='source', name='name', message='wonderful meesage'): #def __init__(self, feed='', time='', level='level', src='source', name='name', message='wonderful meesage'):
def __init__(self, feed): def __init__(self, feed):
@ -38,10 +40,10 @@ class LogItem():
#self.message = message #self.message = message
self.time = strftime("%H:%M:%S", now()) self.time = strftime("%H:%M:%S", now())
self.level = 'level' #FIXME later
self.source = 'src' self.fields = []
self.name = 'name' for f in feed:
self.message = feed self.fields.append(f)
def get_head_row(self): def get_head_row(self):
to_ret = [] to_ret = []
@ -52,11 +54,12 @@ class LogItem():
def get_row(self): def get_row(self):
to_ret = {} to_ret = {}
#Number to keep them sorted (jsonify sort keys) #Number to keep them sorted (jsonify sort keys)
to_ret[1] = self.time to_ret[0] = self.time
to_ret[2] = self.level for i in range(len(LogItem.FIELDNAME_ORDER)):
to_ret[3] = self.source try:
to_ret[4] = self.name to_ret[i+1] = self.fields[i]
to_ret[5] = self.message except IndexError: # not enough field in rcv item
to_ret[i+1] = ''
return to_ret return to_ret
@ -67,11 +70,12 @@ class EventMessage():
try: try:
jsonMsg = json.loads(msg) jsonMsg = json.loads(msg)
except json.JSONDecodeError: except json.JSONDecodeError:
jsonMsg = { 'name': "undefined" ,'log': msg } print('json decode error')
jsonMsg = { 'name': "undefined" ,'log': json.loads(msg) }
self.feedName = jsonMsg['name'] self.feedName = jsonMsg['name']
self.feed = jsonMsg['log'] self.feed = json.loads(jsonMsg['log'])
self.feed = LogItem(jsonMsg['log']).get_row() self.feed = LogItem(self.feed).get_row()
#get type of message: log or feed, then create #get type of message: log or feed, then create
#if self.isLog: #if self.isLog:

View File

@ -32,8 +32,9 @@ pubsub = redis_server.pubsub(ignore_subscribe_messages=True)
while True: while True:
rdm = random.randint(1,3) rdm = random.randint(1,3)
time.sleep(float(rdm / 10)) time.sleep(float(rdm / 10))
content = "rdm "+str(rdm) content = ["rdm "+str(rdm)]
to_send = { 'name': 'feeder'+str(rdm), 'log': content } jsonContent = json.dumps(content)
to_send = { 'name': 'feeder'+str(rdm), 'log': jsonContent }
redis_server.publish(channel, json.dumps(to_send)) redis_server.publish(channel, json.dumps(to_send))
sys.exit(1) sys.exit(1)