Explorar o código

Merge branch '57-remove-deleted-labels-from-images' into 'master'

Resolve "remove deleted labels from images"

Closes #57

See merge request troebs/pycs!55
Eric Tröbs %!s(int64=4) %!d(string=hai) anos
pai
achega
3d528af6c6
Modificáronse 1 ficheiros con 18 adicións e 2 borrados
  1. 18 2
      pycs/projects/Project.py

+ 18 - 2
pycs/projects/Project.py

@@ -45,5 +45,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]