Ver código fonte

grass.py: list_grouped2() added (g.mlist version of list_grouped())
(merge from devbr6, https://trac.osgeo.org/grass/changeset/34631)


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

Martin Landa 16 anos atrás
pai
commit
75c1bb88f0
2 arquivos alterados com 18 adições e 1 exclusões
  1. 1 1
      gui/wxpython/gui_modules/gselect.py
  2. 17 0
      lib/python/grass.py

+ 1 - 1
gui/wxpython/gui_modules/gselect.py

@@ -209,7 +209,7 @@ class TreeCtrlComboPopup(wx.combo.ComboPopup):
                 mapsets[i] = mapsets[0]
                 mapsets[i] = mapsets[0]
                 mapsets[0] = curr_mapset
                 mapsets[0] = curr_mapset
 
 
-        filesdict = grass.list_grouped(elementdict[element])
+        filesdict = grass.list_grouped2(elementdict[element])
         
         
         for dir in mapsets:
         for dir in mapsets:
             dir_node = self.AddItem('Mapset: '+dir)
             dir_node = self.AddItem('Mapset: '+dir)

+ 17 - 0
lib/python/grass.py

@@ -296,6 +296,23 @@ def list_grouped(type):
             result[mapset].extend(line.split())
             result[mapset].extend(line.split())
     return result
     return result
 
 
+def list_grouped2(type, pattern=None):
+    """Returns the output from running g.mlist, as a dictionary where the keys
+    are mapset names and the values are lists of maps in that mapset. 
+    """
+    result = {}
+    mapset = None
+    for line in read_command("g.mlist", flags="m",
+                             type = type, pattern = pattern).splitlines():
+        map, mapset = line.split('@')
+        
+        if result.has_key(mapset):
+            result[mapset].append(map)
+        else:
+	    result[mapset] = [map, ]
+    
+    return result
+
 def _concat(xs):
 def _concat(xs):
     result = []
     result = []
     for x in xs:
     for x in xs: