From e9d7aaaa57c524f2ee06e2ec26b2d295a5a18dc2 Mon Sep 17 00:00:00 2001
From: "Hock, Martin" <martin.hock@fst.tu-darmstadt.de>
Date: Thu, 2 Mar 2023 11:32:33 +0100
Subject: [PATCH] Rearrange and fix imports (broken through merge)Adjust some
 Types.Change LegoAssembly.clone() to use properties['label']

---
 functions/classes.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/functions/classes.py b/functions/classes.py
index 3ed46e7..4e98029 100644
--- a/functions/classes.py
+++ b/functions/classes.py
@@ -2,10 +2,11 @@
 File consists of several classes for the different elements of a device.
 """
 from __future__ import annotations
-from enum import Enum, auto
 import uuid
-from typing import List, Dict, Optional
 import json
+import operator
+from enum import Enum, auto
+from typing import List, Dict, Optional
 
 
 class AggregationLayer(Enum):
@@ -195,10 +196,11 @@ class LegoAssembly:
     def __repr__(self):
         return f"LegoAssembly {self.properties['label']} [{self.uuid}]"
 
-    def clone(self, label: str = None) -> LegoAssembly:
+    def clone(self, label: Optional[str] = None) -> LegoAssembly:
         if label is None:
-            label = self.label
-        clone = LegoAssembly(label, copy.deepcopy(self.properties), self.layer)
+            label = self.properties['label']
+        clone = LegoAssembly(self.layer, None, self.properties)
+        clone.properties['label'] = label
         for component in self.components:
             clone.add_component(component.clone())
         for assembly in self.assemblies:
-- 
GitLab