Changeset 64470


Ignore:
Timestamp:
Feb 5, 2015, 4:22:04 AM (10 years ago)
Author:
huhabla
Message:

temporal library: Trying to partly fix #2337

File:
1 edited

Legend:

Unmodified
Added
Removed
  • grass/trunk/lib/python/temporal/c_libraries_interface.py

    r63869 r64470  
    149149       :returns: Names of available mapsets as list of strings
    150150    """
    151 
    152     mapsets = libgis.G_get_available_mapsets()
    153 
     151   
    154152    count = 0
    155153    mapset_list = []
    156     while mapsets[count]:
    157         char_list = ""
    158         mapset = mapsets[count]
    159         if libgis.G_mapset_permissions(mapset) > 0:
     154    try:
     155        mapsets = libgis.G_get_available_mapsets()
     156        while mapsets[count]:
     157            char_list = ""
     158            mapset = mapsets[count]
     159            if libgis.G_mapset_permissions(mapset) > 0:
     160                c = 0
     161                while mapset[c] != "\x00":
     162                    char_list += mapset[c]
     163                    c += 1
     164                mapset_list.append(char_list)
    160165            count += 1
    161             c = 0
    162             while mapset[c] != "\x00":
    163                 char_list += mapset[c]
    164                 c += 1
    165 
    166         mapset_list.append(char_list)
    167 
    168     # We need to sort the mapset list, but the first one should be
    169     # the current mapset
    170     current_mapset = libgis.G_mapset()
    171     mapset_list.remove(current_mapset)
    172     mapset_list.sort()
    173     mapset_list.reverse()
    174     mapset_list.append(current_mapset)
    175     mapset_list.reverse()
    176 
    177     conn.send(mapset_list)
     166
     167        # We need to sort the mapset list, but the first one should be
     168        # the current mapset
     169        current_mapset = libgis.G_mapset()
     170        if current_mapset in mapset_list:
     171            mapset_list.remove(current_mapset)
     172        mapset_list.sort()
     173        mapset_list.reverse()
     174        mapset_list.append(current_mapset)
     175        mapset_list.reverse()
     176    except:
     177        raise
     178    finally:
     179        conn.send(mapset_list)
    178180
    179181
Note: See TracChangeset for help on using the changeset viewer.