Explorar o código

wxGUI gcp: fix checking vector map existence in the group (#680)

Tomas Zigo %!s(int64=4) %!d(string=hai) anos
pai
achega
61e3e5fdc0
Modificáronse 1 ficheiros con 16 adicións e 13 borrados
  1. 16 13
      gui/wxpython/gcp/manager.py

+ 16 - 13
gui/wxpython/gcp/manager.py

@@ -893,22 +893,25 @@ class DispMapPage(TitledPage):
                                     self.parent.grouppage.xygroup,
                                     'VREF')
 
-            f = open(vgrpfile)
+            error_message = _(
+                'No maps in selected group <%s>.\n'
+                'Please edit group or select another group.') % \
+                self.parent.grouppage.xygroup
+
             try:
-                for vect in f.readlines():
-                    vect = vect.strip('\n')
-                    if len(vect) < 1:
-                        continue
-                    self.parent.src_maps.append(vect)
-            finally:
-                f.close()
+                with open(vgrpfile) as f:
+                    for vect in f.readlines():
+                        vect = vect.strip('\n')
+                        if len(vect) < 1:
+                            continue
+                        self.parent.src_maps.append(vect)
+            except FileNotFoundError:
+                GError(parent=self, message=error_message,
+                       showTraceback=False)
+                return
 
             if len(self.parent.src_maps) < 1:
-                GError(
-                    parent=self, message=_(
-                        'No maps in selected group <%s>.\n'
-                        'Please edit group or select another group.') %
-                    self.parent.grouppage.xygroup)
+                GError(parent=self, message=error_message)
                 return
 
         # filter out all maps not in group