Nikos Alexandris wrote:

> > In a Python script, I use the following pygrass method to retrieve a list
> > of> 
> > raster maps:
> >     from grass.pygrass.gis import Mapset
> >     ..
> >     landsat_imagery = dict()
> >     ..
> >     landsat_imagery['Spectral Bands'] = Mapset().glist('rast', pattern =
> > 
> > 'B[123457]')
> > 
> > However, whenever the result is empty, i.e. there are no B1, B2 and so on
> > 
> > named raster maps, running the script fails with the error:
> >     landsat_imagery['Spectral Bands'] = Mapset().glist('rast', pattern =
> > 
> > 'B[123457]')
> > 
> >     TypeError: 'str' object is not callable
> > 
> > Running the instructions step-wise, from within ipython, doesn't appear to
> > be problematic.  What am I missing in this case?

Moritz Lennert wrote:

> I can't reproduce this:
>  >>> landsat_imagery = dict()
>  >>> landsat_imagery
> 
> {}
> 
>  >>> Mapset().glist('rast', pattern = 'B[123457]')
> 
> []
> 
>  >>> landsat_imagery['Spectral Bands'] = Mapset().glist('rast', pattern
> 
> = 'B[123457]')
> 
>  >>> landsat_imagery
> 
> {'Spectral Bands': []}
> 
> So even with an empty result of the glist call, I don't get an error
> message.

Right!  I committed a classical beginner's mistake, that is right after 
importing

        from grass.pygrass.gis import Mapset

I used "Mapset", (outside of the function in which I used the above mentioned 
code) as

        gisenv = grass.gisenv()
        Mapset = gisenv['MAPSET']

This naturally lead to the reported error.  I found the question 
<http://stackoverflow.com/q/10775541/1172302> to be helpful.

Thanks, Nikos
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to