Source code for vent.menus.logs

import npyscreen

from vent.api.actions import Action


[docs]class LogsForm(npyscreen.FormBaseNew): """ Logs form for the Vent CLI """
[docs] def quit(self, *args, **kwargs): """ Overridden to switch back to MAIN form """ self.parentApp.switchForm('MAIN')
[docs] def create(self): """ Override method for creating FormBaseNew form """ self.add_handlers({"^T": self.quit, "^Q": self.quit}) self.add(npyscreen.TitleFixedText, name='Logs:', value='') msg = 'Checking for container logs, please wait...' self.logs_mle = self.add(npyscreen.Pager, values=[msg]) self.action = Action() response = self.action.logs() if response[0]: value = "Logs for each Vent container found:\n" logs = response[1] for container in logs: value += "\n Container: "+container+"\n" for log in logs[container]: value += " "+log+"\n" value += "\n" self.logs_mle.values = value.split("\n") else: msg = "There was an issue retrieving logs for Vent containers: " self.logs_mle.values = [msg, str(response[1]), "Please see vent.log for more details."]