[GRASS-dev] [GRASS-SVN] r73692 - grass/trunk/lib/init

Vaclav Petras wenzeslaus at gmail.com
Thu Nov 22 14:44:09 PST 2018


On Thu, Nov 22, 2018 at 10:57 AM Markus Metz <markus.metz.giswork at gmail.com>
wrote:

>
>
> On Thu, Nov 22, 2018 at 3:31 PM Vaclav Petras <wenzeslaus at gmail.com>
> wrote:
> >
> >
> >
> > On Wed, Nov 21, 2018 at 2:12 PM Martin Landa <landa.martin at gmail.com>
> wrote:
> >>
> >> Hi,
> >>
> >> st 21. 11. 2018 v 20:05 odesílatel <svn_grass at osgeo.org> napsal:
> >> > +        # clean the sqlite db
> >> > +        from grass.script import db as gdb
> >> > +        from grass.script import core as gcore
> >> > +        conn = gdb.db_connection()
> >> > +        if conn and conn['driver'] == 'sqlite':
> >> > +           # check if db exists
> >> > +           gisenv = gcore.gisenv()
> >> > +           database = conn['database']
> >> > +           database = database.replace('$GISDBASE',
> gisenv['GISDBASE'])
> >> > +           database = database.replace('$LOCATION_NAME',
> gisenv['LOCATION_NAME'])
> >> > +           database = database.replace('$MAPSET', gisenv['MAPSET'])
> >> > +           if os.path.exists(database):
> >> > +               message(_("Cleaning up sqlite database ..."))
> >> > +               gcore.start_command('db.execute', sql = 'VACUUM')
> >>
> >> a small note, the added code could be probably moved to new a fn eg.
> >> clean_db(), Ma
> >
> >
> > Yes, ideally to grass.script.setup.
>
> But this is only initializing a GRASS session, without any mechanism to
> terminate a session. Basic usage in the documentation:
>
>         # ... use GRASS modules here
>         # remove the session's gisrc file to end the session
>         os.remove(gisrc)
>
> maybe a new fn to terminate a session is needed? This fn could clean temp
> files like clean_temp() in grass.py and also clean any default sqlite db
> when terminating the grass session.
>

That's all correct. There would have to be more to make it the same
procedure as in grass.py, but eventually we need to do that.

What I meant to add it to grass.script.setup module where we should
eventually put all the functions needed to setup a proper GRASS session (or
in some other module, but setup seems to be something good enough for now
and moving things around while keeping the API is easy in Python).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20181122/9bf51fa1/attachment.html>


More information about the grass-dev mailing list