55 lines
1.3 KiB
Python
Executable File
55 lines
1.3 KiB
Python
Executable File
|
|
|
|
|
|
class str_with_attr(str):
|
|
def __new__(cls, val):
|
|
obj = str.__new__(cls, val)
|
|
return obj
|
|
|
|
|
|
def get_floor_redis_keys(floor_num):
|
|
keys = dict()
|
|
|
|
swa = str_with_attr
|
|
|
|
keys['vis_status'] = swa( 'nugget_house_lighting_'+str(floor_num)+'_vis_status' )
|
|
keys['vis_status'].default = 'off'
|
|
keys['vis_status'].dtype = str
|
|
|
|
keys['ir_status'] = swa( 'nugget_house_lighting_'+str(floor_num)+'_ir_status' )
|
|
keys['ir_status'].default = 'on'
|
|
keys['ir_status'].dtype = str
|
|
|
|
keys['vis_intensity'] = swa( 'nugget_house_lighting_'+str(floor_num)+'_vis_intensity' )
|
|
keys['vis_intensity'].default = 0
|
|
keys['vis_intensity'].dtype = int
|
|
|
|
keys['ir_intensity'] = swa( 'nugget_house_lighting_'+str(floor_num)+'_ir_intensity')
|
|
keys['ir_intensity'].default = 100
|
|
keys['ir_intensity'].dtype = int
|
|
|
|
|
|
keys['has_changed'] = swa('nugget_house_lighting_'+str(floor_num)+'_has_changed')
|
|
keys['has_changed'].default = True
|
|
keys['has_changed'].dtype = bool
|
|
|
|
return keys
|
|
|
|
|
|
|
|
def get_redis_values(r, keys):
|
|
out = dict()
|
|
for k,v in keys.items():
|
|
redis_val = r.get(v)
|
|
if redis_val is None:
|
|
redis_val = 'None'
|
|
else:
|
|
redis_val = v.dtype(redis_val.decode('UTF-8'))
|
|
|
|
out[k] = redis_val
|
|
|
|
return out
|
|
|
|
|
|
|