Browse Source

wxGUI: fix Gdal import dialog (ext patterns)
(merge https://trac.osgeo.org/grass/changeset/45593 from trunk)


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@45595 15284696-431f-4ddb-bdfa-cd5b030d7da7

Martin Landa 14 years ago
parent
commit
640d049f06
1 changed files with 13 additions and 6 deletions
  1. 13 6
      gui/wxpython/gui_modules/gselect.py

+ 13 - 6
gui/wxpython/gui_modules/gselect.py

@@ -1115,9 +1115,9 @@ class GdalSelect(wx.Panel):
         
         
         # dsn widgets
         # dsn widgets
         if not ogr:
         if not ogr:
-            filemask = 'GeoTIFF (*.tif)|*.%s' % self._getExtPattern('tif')
+            filemask = 'GeoTIFF (%s)|%s' % (self._getExtPattern('tif'), self._getExtPattern('tif'))
         else:
         else:
-            filemask = 'ESRI Shapefile (*.shp)|*.%s' % self._getExtPattern('shp')
+            filemask = 'ESRI Shapefile (%s)|%s' % (self._getExtPattern('shp'), self._getExtPattern('shp'))
         
         
         dsnFile = filebrowse.FileBrowseButton(parent=self, id=wx.ID_ANY, 
         dsnFile = filebrowse.FileBrowseButton(parent=self, id=wx.ID_ANY, 
                                               size=globalvar.DIALOG_GSELECT_SIZE, labelText = '',
                                               size=globalvar.DIALOG_GSELECT_SIZE, labelText = '',
@@ -1253,8 +1253,15 @@ class GdalSelect(wx.Panel):
         self.SetSizer(mainSizer)
         self.SetSizer(mainSizer)
         mainSizer.Fit(self)
         mainSizer.Fit(self)
 
 
+    def _getExtPatternGlob(self, ext):
+        """!Get pattern for case-insensitive globing"""
+        pattern = '*.'
+        for c in ext:
+            pattern += '[%s%s]' % (c.lower(), c.upper())
+        return pattern
+    
     def _getExtPattern(self, ext):
     def _getExtPattern(self, ext):
-        """!Get pattern for case-insensitive mask"""
+        """!Get pattern for case-insensitive file mask"""
         return '*.%s;*.%s' % (ext.lower(), ext.upper())
         return '*.%s;*.%s' % (ext.lower(), ext.upper())
 
 
     def OnSettingsLoad(self, event):
     def OnSettingsLoad(self, event):
@@ -1340,7 +1347,7 @@ class GdalSelect(wx.Panel):
                 ext = self.format.GetExtension(format)
                 ext = self.format.GetExtension(format)
                 if not ext:
                 if not ext:
                     raise KeyError
                     raise KeyError
-                format += ' (*.%s)|*.%s' % (ext, self._getExtPattern(ext))
+                format += ' (%s)|%s' % (self._getExtPattern(ext), self._getExtPattern(ext))
             except KeyError:
             except KeyError:
                 format += ' (*.*)|*.*'
                 format += ' (*.*)|*.*'
             
             
@@ -1425,7 +1432,7 @@ class GdalSelect(wx.Panel):
                 ext = self.format.GetExtension(self.format.GetStringSelection())
                 ext = self.format.GetExtension(self.format.GetStringSelection())
             except KeyError:
             except KeyError:
                 ext = ''
                 ext = ''
-            for file in glob.glob(os.path.join(dsn, "*.%s") % self._getExtPattern(ext)):
+            for file in glob.glob(os.path.join(dsn, "%s") % self._getExtPatternGlob(ext)):
                 baseName = os.path.basename(file)
                 baseName = os.path.basename(file)
                 grassName = utils.GetValidLayerName(baseName.split('.', -1)[0])
                 grassName = utils.GetValidLayerName(baseName.split('.', -1)[0])
                 data.append((layerId, baseName, grassName))
                 data.append((layerId, baseName, grassName))
@@ -1485,7 +1492,7 @@ class GdalSelect(wx.Panel):
                 ext = self.format.GetExtension(format)
                 ext = self.format.GetExtension(format)
                 if not ext:
                 if not ext:
                     raise KeyError
                     raise KeyError
-                format += ' (*.%s)|*.%s' % (ext, self._getExtPattern(ext))
+                format += ' (%s)|%s' % (self._getExtPattern(ext), self._getExtPattern(ext))
             except KeyError:
             except KeyError:
                 format += ' (*.*)|*.*'
                 format += ' (*.*)|*.*'