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.']