Bläddra i källkod

db.in.ogr: fix overwrite logic
(merge https://trac.osgeo.org/grass/changeset/65400 from trunk)


git-svn-id: https://svn.osgeo.org/grass/grass/branches/releasebranch_7_0@65401 15284696-431f-4ddb-bdfa-cd5b030d7da7

Martin Landa 10 år sedan
förälder
incheckning
cb158c8f21
1 ändrade filer med 11 tillägg och 8 borttagningar
  1. 11 8
      scripts/db.in.ogr/db.in.ogr.py

+ 11 - 8
scripts/db.in.ogr/db.in.ogr.py

@@ -70,14 +70,17 @@ def main():
 	tmpname = input.replace('.', '_')
 	output = grass.basename(tmpname)
 
-    if not grass.overwrite():
-	s = grass.read_command('db.tables', flags = 'p', quiet=True)
-	for l in s.splitlines():
-	    if l == output:
-		grass.fatal(_("Table <%s> already exists") % output)
-    else:
-	grass.write_command('db.execute', input = '-', stdin = "DROP TABLE %s" % output)
-
+    # check if table exists
+    s = grass.read_command('db.tables', flags = 'p', quiet=True)
+    for l in s.splitlines():
+        if l == output:
+            if grass.overwrite():
+                grass.warning(_("Table <%s> already exists and will be and will be overwritten") % output)
+                grass.write_command('db.execute', input = '-', stdin = "DROP TABLE %s" % output)
+                break
+            else:
+                grass.fatal(_("Table <%s> already exists") % output)
+                
     # treat DB as real vector map...
     if db_table:
 	layer = db_table