diff --git a/CHANGELOG.md b/CHANGELOG.md index 03985710f..c070a487e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Ongoing - Avoid None-init for smile_version [#699](https://github.com/plugwise/python-plugwise/pull/699) +- Replace string.split() by string.partition() [#702](https://github.com/plugwise/python-plugwise/pull/702) ## v1.7.0 diff --git a/plugwise/legacy/helper.py b/plugwise/legacy/helper.py index 59fcf97c3..9cf703c5b 100644 --- a/plugwise/legacy/helper.py +++ b/plugwise/legacy/helper.py @@ -306,7 +306,7 @@ def _power_data_from_modules(self) -> GwEntityData: search = self._modules mod_logs = search.findall("./module/services") for loc.measurement, loc.attrs in P1_LEGACY_MEASUREMENTS.items(): - loc.meas_list = loc.measurement.split("_") + loc.meas_list = loc.measurement.partition("_")[0::2] for loc.logs in mod_logs: for loc.log_type in mod_list: collect_power_values(data, loc, t_string, legacy=True) diff --git a/plugwise/util.py b/plugwise/util.py index c7ad9c988..d5c559fdb 100644 --- a/plugwise/util.py +++ b/plugwise/util.py @@ -218,7 +218,7 @@ def get_vendor_name(module: etree, model_data: ModuleData) -> ModuleData: if (vendor_name := module.find("vendor_name").text) is not None: model_data["vendor_name"] = vendor_name if "Plugwise" in vendor_name: - model_data["vendor_name"] = vendor_name.split(" ", 1)[0] + model_data["vendor_name"] = vendor_name.partition(" ")[0] return model_data @@ -275,9 +275,9 @@ def power_data_peak_value(loc: Munch, legacy: bool) -> Munch: if not loc.found: return loc - if (peak := loc.peak_select.split("_")[1]) == "offpeak": + if (peak := loc.peak_select.partition("_")[2]) == "offpeak": peak = "off_peak" - log_found = loc.log_type.split("_")[0] + log_found = loc.log_type.partition("_")[0] loc.key_string = f"{loc.measurement}_{peak}_{log_found}" if "gas" in loc.measurement or loc.log_type == "point_meter": loc.key_string = f"{loc.measurement}_{log_found}" @@ -314,7 +314,7 @@ def skip_obsolete_measurements(xml: etree, measurement: str) -> bool: measurement in OBSOLETE_MEASUREMENTS and (updated_date_key := xml.find(locator)) is not None ): - updated_date = updated_date_key.text.split("T")[0] + updated_date = updated_date_key.text.partition("T")[0] date_1 = dt.datetime.strptime(updated_date, "%Y-%m-%d") date_2 = dt.datetime.now() return int((date_2 - date_1).days) > 7