From 7e83d0876ddb84a45e130eeba28bc40ef53c074b Mon Sep 17 00:00:00 2001 From: Yaron Yogev Date: Thu, 27 Jul 2017 09:02:54 +0300 Subject: Calipso initial release for OPNFV Change-Id: I7210c244b0c10fa80bfa8c77cb86c9d6ddf8bc88 Signed-off-by: Yaron Yogev --- app/messages/message.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 app/messages/message.py (limited to 'app/messages') diff --git a/app/messages/message.py b/app/messages/message.py new file mode 100644 index 0000000..03c9069 --- /dev/null +++ b/app/messages/message.py @@ -0,0 +1,65 @@ +############################################################################### +# Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) # +# and others # +# # +# All rights reserved. This program and the accompanying materials # +# are made available under the terms of the Apache License, Version 2.0 # +# which accompanies this distribution, and is available at # +# http://www.apache.org/licenses/LICENSE-2.0 # +############################################################################### +from typing import Union + +from bson import ObjectId + + +class Message: + + LEVELS = ['info', 'warn', 'error'] + DEFAULT_LEVEL = LEVELS[0] + + def __init__(self, + msg_id: str, + msg: dict, + source: str, + env: str = None, + object_id: Union[str, ObjectId] = None, + display_context: Union[str, ObjectId] = None, + level: str = DEFAULT_LEVEL, + object_type: str = None, + ts: str = None, + received_ts: str = None, + finished_ts: str = None): + super().__init__() + + if level and level.lower() in self.LEVELS: + self.level = level.lower() + else: + self.level = self.DEFAULT_LEVEL + + self.id = msg_id + self.environment = env + self.source_system = source + self.related_object = object_id + self.related_object_type = object_type + self.display_context = display_context + self.message = msg + self.timestamp = ts if ts else received_ts + self.received_timestamp = received_ts + self.finished_timestamp = finished_ts + self.viewed = False + + def get(self): + return { + "id": self.id, + "environment": self.environment, + "source_system": self.source_system, + "related_object": self.related_object, + "related_object_type": self.related_object_type, + "display_context": self.display_context, + "level": self.level, + "message": self.message, + "timestamp": self.timestamp, + "received_timestamp": self.received_timestamp, + "finished_timestamp": self.finished_timestamp, + "viewed": self.viewed + } -- cgit 1.2.3-korg