def UpdateMapsets(self, location): """Update list of mapsets""" self.FormerMapsetSelection = wx.NOT_FOUND # for non-selectable item self.listOfMapsetsSelectable = list() self.listOfMapsets = GetListOfMapsets(self.gisdbase, location) self.lbmapsets.Clear() # disable mapset with denied permission locationName = os.path.basename(location) ret = RunCommand('g.mapset', read=True, flags='l', location=locationName, gisdbase=self.gisdbase) if ret: for line in ret.splitlines(): self.listOfMapsetsSelectable += line.split(' ') else: RunCommand("g.gisenv", set="GISDBASE=%s" % self.gisdbase) RunCommand("g.gisenv", set="LOCATION_NAME=%s" % locationName) RunCommand("g.gisenv", set="MAPSET=PERMANENT") # first run only self.listOfMapsetsSelectable = copy.copy(self.listOfMapsets) disabled = [] idx = 0 for mapset in self.listOfMapsets: if mapset not in self.listOfMapsetsSelectable or \ os.path.isfile(os.path.join(self.gisdbase, locationName, mapset, ".gislock")): disabled.append(idx) idx += 1 self.lbmapsets.InsertItems(self.listOfMapsets, 0, disabled=disabled) return self.listOfMapsets
def UpdateMapsets(self, location): """Update list of mapsets""" self.FormerMapsetSelection = wx.NOT_FOUND # for non-selectable item self.listOfMapsetsSelectable = list() self.listOfMapsets = GetListOfMapsets(self.gisdbase, location) self.lbmapsets.Clear() # disable mapset with denied permission locationName = os.path.basename(location) ret = RunCommand('g.mapset', read=True, flags='l', location=locationName, gisdbase=self.gisdbase) if ret: for line in ret.splitlines(): self.listOfMapsetsSelectable += line.split(' ') else: self.SetLocation(self.gisdbase, locationName, "PERMANENT") # first run only self.listOfMapsetsSelectable = copy.copy(self.listOfMapsets) disabled = [] idx = 0 for mapset in self.listOfMapsets: if mapset not in self.listOfMapsetsSelectable or \ get_lockfile_if_present(self.gisdbase, locationName, mapset): disabled.append(idx) idx += 1 self.lbmapsets.InsertItems(self.listOfMapsets, 0, disabled=disabled) return self.listOfMapsets