Source code for mylinux.view.tuiElement.SelectApp

from __future__ import absolute_import

import npyscreen

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

from .SelectForm import SelectForm

[docs]class SelectApp(npyscreen.NPSAppManaged): requiredModelValues = [ 'action', 'packages', 'modules', 'classes', 'packageNames', 'packageInfos', 'packageStates', 'configStates' ] @overrides(npyscreen.NPSAppManaged)
[docs] def onStart(self): self.setModelValues() self.checkModelValues() self.mainForm = SelectForm( name='Select & {0} packages'.format(self.modelValues['action'].upper()) ) self.mainForm.action = self.modelValues['action'] self.mainForm.packages = self.modelValues['packages'] self.mainForm.modules.values = self.modelValues['modules'] self.mainForm.classes.values = self.modelValues['classes'] self.mainForm.packageNames.values = self.modelValues['packageNames'] self.mainForm.packageInfos.values = self.modelValues['packageInfos'] self.mainForm.packageStates.values = self.modelValues['packageStates'] self.mainForm.configStates.values = self.modelValues['configStates'] ''' REGISTER FORM ''' self.registerForm('MAIN', self.mainForm)
@overrides(npyscreen.NPSAppManaged)
[docs] def onCleanExit(self): self.exit(packageNames=self.mainForm.packageNames.get_selected_objects())
[docs] def checkModelValues(self): error = [] for requiredElement in SelectApp.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, packageNames): pass