You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
from typing import Mapping
from gooey import Events from gooey.python_bindings.types import Try from gooey.util.functional import merge
def validateForm(self) -> Try[Mapping[str, str]]: # or Exception config = self.navbar.getActiveConfig() localErrors: Mapping[str, str] = config.getErrors() dynamicResult: Try[Mapping[str, str]] = self.fetchDynamicValidations()
combineErrors = lambda m: merge(localErrors, m) return dynamicResult.map(combineErrors)
def fetchDynamicValidations(self) -> Try[Mapping[str, str]]: # only run the dynamic validation if the user has # specifically subscribed to that event if Events.VALIDATE_FORM in self.buildSpec.get('use_events', []): cmd = self.getCommandDetails() return seeder.communicate2(cli.formValidationCmd( cmd.target, cmd.subcommand + 'baba', cmd.positionals, cmd.optionals ), self.buildSpec['encoding']) else: # shim response if nothing to do. return Success({})
|