From ab572c4db52b409daf7a79ef6e729158ad24fc2c Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 3 Mar 2021 12:34:08 +0300 Subject: [PATCH] edit readme --- custom_components/mega/i2c.py | 59 ++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/custom_components/mega/i2c.py b/custom_components/mega/i2c.py index 752dfec..b2af431 100644 --- a/custom_components/mega/i2c.py +++ b/custom_components/mega/i2c.py @@ -17,36 +17,37 @@ def parse_scan_page(page: str): if params is None: continue params = dict(parse_qsl(urlparse(params).query)) - if 'i2c_dev' in params: - dev = params['i2c_dev'] - classes = i2c_classes.get(dev, []) - for i, c in enumerate(classes): - if c is Skip: - continue - elif c is Request: - req.append(params) - continue - elif isinstance(c, tuple): - suffix, c = c - elif isinstance(c, str): - suffix = c - else: - suffix = '' - if 'addr' in params: - suffix += f"_{params['addr']}" if suffix else str(params['addr']) - if suffix: - _dev = f'{dev}_{suffix}' - else: - _dev = dev - params = params.copy() - if i > 0: - params['i2c_par'] = i - ret.append({ - 'id_suffix': _dev, - 'device_class': c, - 'params': params, - }) + dev = params.get('i2c_dev') + if dev is None: + continue + classes = i2c_classes.get(dev, []) + for i, c in enumerate(classes): + if c is Skip: + continue + elif c is Request: req.append(params) + continue + elif isinstance(c, tuple): + suffix, c = c + elif isinstance(c, str): + suffix = c + else: + suffix = '' + if 'addr' in params: + suffix += f"_{params['addr']}" if suffix else str(params['addr']) + if suffix: + _dev = f'{dev}_{suffix}' + else: + _dev = dev + params = params.copy() + if i > 0: + params['i2c_par'] = i + ret.append({ + 'id_suffix': _dev, + 'device_class': c, + 'params': params, + }) + req.append(params) return req, ret