Eric Tröbs 4 年之前
父节点
当前提交
e50e4f9cec
共有 1 个文件被更改,包括 18 次插入2 次删除
  1. 18 2
      pycs/projects/Project.py

+ 18 - 2
pycs/projects/Project.py

@@ -42,5 +42,21 @@ class Project(ObservableDict):
             self['labels'][identifier]['name'] = name
 
     def remove_label(self, identifier):
-        if identifier in self['labels']:
-            del self['labels'][identifier]
+        # abort if identifier is unknown
+        if identifier not in self['labels']:
+            return
+
+        # remove label from data elements
+        remove = list()
+
+        for data in self['data']:
+            for pred in self['data'][data]['predictionResults']:
+                if 'label' in self['data'][data]['predictionResults'][pred]:
+                    if self['data'][data]['predictionResults'][pred]['label'] == identifier:
+                        remove.append((data, pred))
+
+        for t in remove:
+            del self['data'][t[0]]['predictionResults'][t[1]]
+
+        # remove label from list
+        del self['labels'][identifier]