42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
from indra.base import llsd
|
|
|
|
class MessageDictionary(object):
|
|
def __init__(self, message_details):
|
|
if message_details == None:
|
|
raise Exception('Details file null')
|
|
#all the details of the file
|
|
self.message_details = {}
|
|
#only concerning messages
|
|
self.message_dict = {}
|
|
|
|
self.buildDictionary(message_details)
|
|
|
|
def buildDictionary(self, message_details):
|
|
self.message_details = llsd.parse(message_details)
|
|
message_dict = self.message_details['messages']
|
|
for message in message_dict:
|
|
self.message_dict[message] = message_dict[message]
|
|
|
|
def get_message(self, message_name):
|
|
if message_name in self.message_dict:
|
|
return self.message_dict[message_name]
|
|
|
|
return None
|
|
|
|
def get_message_flavor(self, message_name):
|
|
message = self.get_message(message_name)
|
|
if message == None:
|
|
return None
|
|
|
|
return message['flavor']
|
|
|
|
def get_trusted_sender(self, message_name):
|
|
message = self.get_message(message_name)
|
|
if message == None:
|
|
return None
|
|
|
|
return message['trusted-sender']
|
|
|
|
def __getitem__(self, i):
|
|
return self.get_message(i)
|