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

Markus Metz markus.metz.giswork at gmail.com
Sat Nov 24 02:54:39 PST 2018


On Thu, Nov 22, 2018 at 11:33 PM Vaclav Petras <wenzeslaus at gmail.com> wrote:
>
>
>
> 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).

ok, the db cleanup is now (r73704) a function in grass.script.setup
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20181124/034406bc/attachment.html>


More information about the grass-dev mailing list