Parse [ENERGY]
This commit is contained in:
@@ -57,27 +57,6 @@ def set_energy(name: str, cs: ChangeSet) -> ChangeSet:
|
||||
return execute_command(name, set_energy_cache(name, cs))
|
||||
|
||||
|
||||
# def inp_in_energy(section: list[str]) -> ChangeSet:
|
||||
# cs = g_update_prefix | { 'type' : 'energy' }
|
||||
# for s in section:
|
||||
# line = s.upper().strip()
|
||||
# for key in get_energy_schema('').keys():
|
||||
# if line.startswith(key):
|
||||
# value = line.removeprefix(key).strip()
|
||||
# cs |= { key : value }
|
||||
# return ChangeSet(cs)
|
||||
|
||||
|
||||
def inp_out_energy(name: str) -> list[str]:
|
||||
lines = []
|
||||
objs = read_all(name, f"select * from energy")
|
||||
for obj in objs:
|
||||
key = obj['key']
|
||||
value = obj['value']
|
||||
lines.append(f'{key} {value}')
|
||||
return lines
|
||||
|
||||
|
||||
def get_pump_energy_schema(name: str) -> dict[str, dict[str, Any]]:
|
||||
return { 'pump' : {'type': 'str' , 'optional': False , 'readonly': True },
|
||||
'price' : {'type': 'float' , 'optional': True , 'readonly': False},
|
||||
@@ -150,3 +129,57 @@ def set_pump_energy_cache(name: str, cs: ChangeSet) -> SqlChangeSet:
|
||||
|
||||
def set_pump_energy(name: str, cs: ChangeSet) -> ChangeSet:
|
||||
return execute_command(name, set_pump_energy_cache(name, cs))
|
||||
|
||||
|
||||
def inp_in_energy(section: list[str]) -> ChangeSet:
|
||||
cs = ChangeSet()
|
||||
|
||||
for s in section:
|
||||
tokens = s.strip().split()
|
||||
|
||||
if tokens[0].upper() == 'PUMP':
|
||||
pump = tokens[1]
|
||||
key = tokens[2].lower()
|
||||
value = tokens[3]
|
||||
if key == 'price':
|
||||
value = float(value)
|
||||
cs.append(g_update_prefix | { 'type' : 'pump_energy', 'pump' : pump, key: value })
|
||||
|
||||
else:
|
||||
line = s.upper().strip()
|
||||
for key in get_energy_schema('').keys():
|
||||
if line.startswith(key):
|
||||
value = line.removeprefix(key).strip()
|
||||
cs.append(g_update_prefix | { 'type' : 'energy', key : value })
|
||||
|
||||
return cs
|
||||
|
||||
|
||||
def inp_out_energy(name: str) -> list[str]:
|
||||
lines = []
|
||||
|
||||
objs = read_all(name, f"select * from energy")
|
||||
for obj in objs:
|
||||
key = obj['key']
|
||||
value = obj['value']
|
||||
lines.append(f'{key} {value}')
|
||||
|
||||
objs = read_all(name, f"select * from energy_pump_price")
|
||||
for obj in objs:
|
||||
pump = obj['pump']
|
||||
value = obj['price']
|
||||
lines.append(f'PUMP {pump} PRICE {value}')
|
||||
|
||||
objs = read_all(name, f"select * from energy_pump_pattern")
|
||||
for obj in objs:
|
||||
pump = obj['pump']
|
||||
value = obj['pattern']
|
||||
lines.append(f'PUMP {pump} PATTERN {value}')
|
||||
|
||||
objs = read_all(name, f"select * from energy_pump_effic")
|
||||
for obj in objs:
|
||||
pump = obj['pump']
|
||||
value = obj['effic']
|
||||
lines.append(f'PUMP {pump} EFFIC {value}')
|
||||
|
||||
return lines
|
||||
|
||||
Reference in New Issue
Block a user