From c4d7a531be5f9a7628974ad861df5a5f5380d7b3 Mon Sep 17 00:00:00 2001 From: = Date: Tue, 12 Sep 2017 12:27:35 +0200 Subject: [PATCH] Fields are generated from config file --- server.py | 30 +++++++++++++++++------------- zmq_subscriber.py | 5 +++-- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/server.py b/server.py index bea1960..d0d5fe6 100755 --- a/server.py +++ b/server.py @@ -24,7 +24,9 @@ eventNumber = 0 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): @@ -38,10 +40,10 @@ class LogItem(): #self.message = message self.time = strftime("%H:%M:%S", now()) - self.level = 'level' - self.source = 'src' - self.name = 'name' - self.message = feed + #FIXME later + self.fields = [] + for f in feed: + self.fields.append(f) def get_head_row(self): to_ret = [] @@ -52,11 +54,12 @@ class LogItem(): def get_row(self): to_ret = {} #Number to keep them sorted (jsonify sort keys) - to_ret[1] = self.time - to_ret[2] = self.level - to_ret[3] = self.source - to_ret[4] = self.name - to_ret[5] = self.message + to_ret[0] = self.time + for i in range(len(LogItem.FIELDNAME_ORDER)): + try: + to_ret[i+1] = self.fields[i] + except IndexError: # not enough field in rcv item + to_ret[i+1] = '' return to_ret @@ -67,11 +70,12 @@ class EventMessage(): try: jsonMsg = json.loads(msg) except json.JSONDecodeError: - jsonMsg = { 'name': "undefined" ,'log': msg } + print('json decode error') + jsonMsg = { 'name': "undefined" ,'log': json.loads(msg) } self.feedName = jsonMsg['name'] - self.feed = jsonMsg['log'] - self.feed = LogItem(jsonMsg['log']).get_row() + self.feed = json.loads(jsonMsg['log']) + self.feed = LogItem(self.feed).get_row() #get type of message: log or feed, then create #if self.isLog: diff --git a/zmq_subscriber.py b/zmq_subscriber.py index aeac103..056e88f 100755 --- a/zmq_subscriber.py +++ b/zmq_subscriber.py @@ -32,8 +32,9 @@ pubsub = redis_server.pubsub(ignore_subscribe_messages=True) while True: rdm = random.randint(1,3) time.sleep(float(rdm / 10)) - content = "rdm "+str(rdm) - to_send = { 'name': 'feeder'+str(rdm), 'log': content } + content = ["rdm "+str(rdm)] + jsonContent = json.dumps(content) + to_send = { 'name': 'feeder'+str(rdm), 'log': jsonContent } redis_server.publish(channel, json.dumps(to_send)) sys.exit(1)