Browse Source

libpython: move clean_default_db() to setup

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@73703 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 6 years ago
parent
commit
86130ada6a
1 changed files with 20 additions and 0 deletions
  1. 20 0
      lib/python/script/setup.py

+ 20 - 0
lib/python/script/setup.py

@@ -204,3 +204,23 @@ def init(gisbase, dbase='', location='demolocation', mapset='PERMANENT'):
 
     os.environ['GISRC'] = write_gisrc(dbase, location, mapset)
     return os.environ['GISRC']
+
+
+# clean-up functions when terminating a GRASS session
+def clean_default_db():
+    # clean the default db if it is sqlite
+    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):
+	    gcore.message(_("Cleaning up sqlite database ..."))
+	    gcore.start_command('db.execute', sql = 'VACUUM')
+
+