Преглед изворни кода

wxGUI/dbmgr: fix getting samples (db_select())

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@51934 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa пре 13 година
родитељ
комит
72aeda6a09
1 измењених фајлова са 8 додато и 12 уклоњено
  1. 8 12
      gui/wxpython/dbmgr/sqlbuilder.py

+ 8 - 12
gui/wxpython/dbmgr/sqlbuilder.py

@@ -282,26 +282,22 @@ class SQLFrame(wx.Frame):
         
         self.list_values.Clear()
         
-        querystring = "SELECT %s FROM %s" % (column, self.tablename)
-        
-        data = grass.db_select(table = self.tablename,
-                               sql = querystring,
+        data = grass.db_select(sql = "SELECT %s FROM %s" % (column, self.tablename),
                                database = self.database,
                                driver = self.driver)
         if not data:
             return
-
+        
         desc = self.dbInfo.GetTableDesc(self.dbInfo.GetTable(self.layer))[column]
         
         i = 0
-        for item in sorted(map(desc['ctype'], data)):
-            if justsample and i < 256 or \
-               not justsample:
-                if desc['type'] != 'character':
-                    item = str(item)
-                self.list_values.Append(item)
-            else:
+        for item in sorted(set(map(lambda x: desc['ctype'](x[0]), data))):
+            if justsample and i > 255:
                 break
+            
+            if desc['type'] != 'character':
+                item = str(item)
+            self.list_values.Append(item)
             i += 1
         
     def OnSampleValues(self, event):