Skip to content

Commit be8db47

Browse files
committed
Try 3
1 parent 1028f17 commit be8db47

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

plugwise/util.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,13 +216,19 @@ def format_measure(measure: str, unit: str) -> float | int:
216216
def get_vendor_name(module: etree, model_data: ModuleData) -> ModuleData:
217217
"""Helper-function for _get_model_data()."""
218218
if (vendor_name := module.find("vendor_name").text) is not None:
219-
model_data["vendor_name"] = vendor_name.decode("utf-8")
219+
model_data["vendor_name"] = parse_escapes(vendor_name)
220220
if "Plugwise" in vendor_name:
221221
model_data["vendor_name"] = vendor_name.split(" ", 1)[0]
222222

223223
return model_data
224224

225225

226+
def parse_escapes(text):
227+
"""Helper-function for get_vendor_name()."""
228+
fixed_escapes = re.sub(r'(?<!\\)(\\\\)*("|\\$)', r'\\\1\2', text)
229+
return ast.literal_eval(f'"{fixed_escapes}"')
230+
231+
226232
def power_data_energy_diff(
227233
measurement: str,
228234
net_string: SensorType,

0 commit comments

Comments
 (0)