From c626f287586fa76eb891b037351df5389442e912 Mon Sep 17 00:00:00 2001 From: Stefan Persson Date: Mon, 2 Sep 2019 16:04:20 +0200 Subject: [PATCH] When saving a device, set new UUID if it does not exist --- telldus/src/telldus/Device.py | 7 +++++++ telldus/src/telldus/DeviceManager.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/telldus/src/telldus/Device.py b/telldus/src/telldus/Device.py index 36f613e..c916e4d 100644 --- a/telldus/src/telldus/Device.py +++ b/telldus/src/telldus/Device.py @@ -268,6 +268,13 @@ def flattenContainingDevices(self): toCheck.extend(d.containingDevices()) return devices + def getOrCreateUUID(self): + if self.uuid(): + return str(self.uuid()) + else: + self._uuid = uuid.uuid4() + return str(self.uuid()) + # pylint: disable=W0212 def loadCached(self, olddevice): self._id = olddevice._id diff --git a/telldus/src/telldus/DeviceManager.py b/telldus/src/telldus/DeviceManager.py index 636e796..5e40b07 100644 --- a/telldus/src/telldus/DeviceManager.py +++ b/telldus/src/telldus/DeviceManager.py @@ -496,7 +496,7 @@ def save(self): stateValues = device.stateValues() dev = { "id": device.id(), - "uuid": device.uuidAsString(), + "uuid": device.getOrCreateUUID(), "loadCount": device.loadCount(), "localId": device.localId(), "type": device.typeString(),