Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Hub:
- '''A collection of sensors in a physical location.'''
- def __delitem__(self, key):
- del self.sensors[key]
- def __getitem__(self, key):
- return self.sensors[key]
- def __init__(self, name, *sensors):
- self.name = name
- self.sensors = {}
- self.add_sensors(*sensors)
- def __setitem__(self, key, value):
- self.sensors[key] = value
- def __str__(self):
- return str(self.name)
- def add_sensor(self, sensor):
- sname = sensor.name
- self.sensors[sname] = sensor
- def add_sensors(self, *sensors):
- for s in sensors:
- self.add_sensor(s)
- class Sensor:
- def __init__(self, name, mincrit=0, minwarn=0, maxwarn=100, maxcrit=100):
- self.name = name
- self.maxcrit = maxcrit
- self.maxwarn = maxwarn
- self.mincrit = mincrit
- self.minwarn = minwarn
- @property
- def value(self):
- '''Get the present value of the sensor.'''
- return (self.mincrit + self.maxcrit) / 2
- def __str__(self):
- return str(self.name)
- if __name__ == '__main__':
- at = Sensor('airtemp')
- wt = Sensor('watertemp')
- hub = Hub('hubba-hubba', at, wt)
- print("Current air temperature:", hub['airtemp'].value)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement