diff options
Diffstat (limited to 'examples/environment.py')
-rwxr-xr-x | examples/environment.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/examples/environment.py b/examples/environment.py index 9e611f08..670b63ac 100755 --- a/examples/environment.py +++ b/examples/environment.py @@ -9,15 +9,19 @@ import cmd2 class EnvironmentApp(cmd2.Cmd): """ Example cmd2 application. """ - degrees_c = 22 - sunny = False - def __init__(self): super().__init__() - self.settable.update({'degrees_c': 'Temperature in Celsius'}) - self.settable.update({'sunny': 'Is it sunny outside?'}) + self.degrees_c = 22 + self.sunny = False + self.add_settable(cmd2.Settable('degrees_c', + int, + 'Temperature in Celsius', + onchange_cb=self._onchange_degrees_c + )) + self.add_settable(cmd2.Settable('sunny', bool, 'Is it sunny outside?')) def do_sunbathe(self, arg): + """Attempt to sunbathe.""" if self.degrees_c < 20: result = "It's {} C - are you a penguin?".format(self.degrees_c) elif not self.sunny: @@ -26,7 +30,7 @@ class EnvironmentApp(cmd2.Cmd): result = 'UV is bad for your skin.' self.poutput(result) - def _onchange_degrees_c(self, old, new): + def _onchange_degrees_c(self, param_name, old, new): # if it's over 40C, it's gotta be sunny, right? if new > 40: self.sunny = True |