summaryrefslogtreecommitdiff
path: root/examples/environment.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/environment.py')
-rwxr-xr-xexamples/environment.py16
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