Files
CommonCode/naming.py
2025-09-04 22:48:15 -04:00

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