Hi,
the attached patch adds to g.mapset module new flag '-l' (print
available mapsets with write permission). It requires dummy value for
mapset, e.g.
g.mapset -l map=dummy
same story like `r.in.gdal -f` and others. It would be reasonable to
introduce new attribute in option/flag structure, something like
'suppress_required'. The value could be global (YES/NO), to suppress
all required flags/options or better list of option/flags (e.g. their
keys) which are required and will be suppressed by the given
flag/option.
Regards, Martin
2008/3/21, Glynn Clements <glynn@gclements.plus.com>:
Martin Landa wrote:
> > > is there a way how to determine if a mapset is accessible without need
> > > to switch 'g.mapset name' -> 'ERROR: You don't have permission to use
> > > this mapset'. If not maybe new flag for g.mapsets would make sense?
> > >
> > > -a 'List all accessible mapsets'
> >
> > At the C level, G__mapset_permissions() and G__mapset_permissions2()
> > determines whether or not a specific mapset can be used as the current
> > mapset (i.e. it's a directory, and you own it).
> >
> > AFAIK, there isn't a user command to determine this. If it's useful,
> > it really belongs in g.mapset rather than g.mapsets, as the former
> > deals with the current mapset (used for output) while the latter deals
> > with the mapsets used for input.
>
> I think it would be useful, at least for creating list of mapsets in
> GUI start-up screen. Currently is used 'g.mapsets -l' which prints all
> mapsets in the location. I don't fully understand here, why g.mapsets
> is not good place for that.
"g.mapsets -l" displays a list of mapsets which are suitable for use
as values in g.mapsets' mapset= and addmapset= options.
You are essentially asking about mapsets which are suitable for use as
values in the mapset= option of g.mapset[1]. The logical place for
such an option is in g.mapset.
[1] init.sh/init.bat have their own built-in clone of g.mapset. It
would be worth looking into whether they can be changed to use
g.mapset instead.
There is a great deal of asymmetry between output and input; the
current mapset and the mapset search path are really very different
entities. g.mapset deals exclusively with the former, g.mapsets deals
exclusively with the latter.
And the option which you're proposing is related to the former.
> g.mapsets -l -> prints *all* mapsets
> g.mapsets -a -> print only *accessible* mapset
"accessible" is the wrong word here. You can "access" any mapset for
which you have read permission.
--
Glynn Clements <glynn@gclements.plus.com>
--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa *
(attachments)
g-mapset-l.diff (1.33 KB)