Source code for EventManager.formatters.xml_formatter

from EventManager.formatters.default_formatter import DefaultFormatter


[docs] class XmlFormatter(DefaultFormatter):
[docs] def format(self, metadata, *args): builder = self._xml_metadata(metadata) for arg in args: builder += f"<{arg.get_key()}>{arg.get_value()}</{arg.get_key()}>" return builder + "</event>"
[docs] def format_message(self, metadata, message): builder = self._xml_metadata(metadata) return builder + f"<message>{message}</message></event>"
[docs] def format_element(self, arg): return f"<{arg.get_key()}>{arg.get_value()}</{arg.get_key()}>"
[docs] def format_arguments(self, body, *args): builder = f"<{body}>" for arg in args: builder += f"<{arg.get_key()}>{arg.get_value()}</{arg.get_key()}>" return builder + f"</{body}>"
def _xml_metadata(self, metadata): return "<event>" + "".join(f"<{k}>{v}</{k}>" for k, v in metadata.items())