Source code for mylinux.view.tuiElement.LogsApp

from __future__ import absolute_import

import npyscreen

from mylinux.libs import overrides
from mylinux.libs import AppErr
from .LogsForm import LogsForm

[docs]class LogsApp(npyscreen.NPSAppManaged): requiredModelValues = ['packageName', 'stdout', 'stderr'] @overrides(npyscreen.NPSAppManaged)
[docs] def onStart(self): self.setModelValues() self.checkModelValues() self.mainForm = LogsForm( name='Logs from package: {0}'.format(self.modelValues['packageName']), lines=40, columns=80 ) self.mainForm.stdout.values = [value for value in self.modelValues['stdout']] self.mainForm.stderr.values = [value for value in self.modelValues['stderr']] ''' REGISTER FORM ''' self.registerForm('MAIN', self.mainForm)
@overrides(npyscreen.NPSAppManaged)
[docs] def onCleanExit(self): self.exit( stderr=self.mainForm.stderr.values, stdout=self.mainForm.stdout.values )
[docs] def checkModelValues(self): error = [] for requiredElement in LogsApp.requiredModelValues: if not requiredElement in self.modelValues: error.append(requiredElement) if error: raise AppErr.developer('Missing in modelValues! ==> ' + str(error))
[docs] def setModelValues(self): pass
[docs] def exit(self, **returned): pass