Advertisement
Guest User

Untitled

a guest
Jun 8th, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.23 KB | None | 0 0
  1. class Hub:
  2.     '''A collection of sensors in a physical location.'''
  3.  
  4.     def __delitem__(self, key):
  5.         del self.sensors[key]
  6.  
  7.     def __getitem__(self, key):
  8.         return self.sensors[key]
  9.  
  10.     def __init__(self, name, *sensors):
  11.         self.name = name
  12.         self.sensors = {}
  13.         self.add_sensors(*sensors)
  14.  
  15.     def __setitem__(self, key, value):
  16.         self.sensors[key] = value
  17.  
  18.     def __str__(self):
  19.         return str(self.name)
  20.  
  21.     def add_sensor(self, sensor):
  22.         sname = sensor.name
  23.         self.sensors[sname] = sensor
  24.  
  25.     def add_sensors(self, *sensors):
  26.         for s in sensors:
  27.             self.add_sensor(s)
  28.  
  29.  
  30. class Sensor:
  31.     def __init__(self, name, mincrit=0, minwarn=0, maxwarn=100, maxcrit=100):
  32.         self.name = name
  33.         self.maxcrit = maxcrit
  34.         self.maxwarn = maxwarn
  35.         self.mincrit = mincrit
  36.         self.minwarn = minwarn
  37.  
  38.     @property
  39.     def value(self):
  40.         '''Get the present value of the sensor.'''
  41.         return (self.mincrit + self.maxcrit) / 2
  42.  
  43.     def __str__(self):
  44.         return str(self.name)
  45.  
  46. if __name__ == '__main__':
  47.     at = Sensor('airtemp')
  48.     wt = Sensor('watertemp')
  49.     hub = Hub('hubba-hubba', at, wt)
  50.  
  51.     print("Current air temperature:", hub['airtemp'].value)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement