Forráskód Böngészése

Add fs= option to v.db.connect (for use by -g)
Change vector_db to use fs=| (to allow for spaces in pathnames)


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@33787 15284696-431f-4ddb-bdfa-cd5b030d7da7

Glynn Clements 16 éve
szülő
commit
b88284403f
2 módosított fájl, 15 hozzáadás és 9 törlés
  1. 2 2
      lib/python/grass.py
  2. 13 7
      vector/v.db.connect/main.c

+ 2 - 2
lib/python/grass.py

@@ -442,10 +442,10 @@ def vector_db(map, layer = None, **args):
     """Return the database connection details for a vector map
     (interface to `v.db.connect -g').
     """
-    s = read_command('v.db.connect', flags = 'g', map = map, layer = layer, **args)
+    s = read_command('v.db.connect', flags = 'g', map = map, layer = layer, fs = '|', **args)
     result = []
     for l in s.splitlines():
-	f = l.split(' ')
+	f = l.split('|')
 	if len(f) != 5:
 	    continue
 	if layer and int(layer) == int(f[0]):

+ 13 - 7
vector/v.db.connect/main.c

@@ -33,7 +33,7 @@ int main(int argc, char **argv)
     char *input;
     struct GModule *module;
     struct Option *inopt, *dbdriver, *dbdatabase, *dbtable, *field_opt,
-	*dbkey;
+	*dbkey, *sep_opt;
     struct Flag *overwrite, *print, *columns, *delete, *shell_print;
     dbDriver *driver;
     dbString table_name;
@@ -72,6 +72,9 @@ int main(int argc, char **argv)
 
     field_opt = G_define_standard_option(G_OPT_V_FIELD);
 
+    sep_opt = G_define_standard_option(G_OPT_F_SEP);
+    sep_opt->answer = " ";
+
     print = G_define_flag();
     print->key = 'p';
     print->description = _("Print all map connection parameters and exit");
@@ -148,15 +151,18 @@ int main(int argc, char **argv)
 			G_fatal_error(_("Database connection not defined"));
 
 		    if (shell_print->answer) {
+			const char *sep = sep_opt->answer;
 			if (fi->name) {
-			    fprintf(stdout, "%d/%s %s %s %s %s\n", fi->number,
-				    fi->name, fi->table, fi->key,
-				    fi->database, fi->driver);
+			    fprintf(stdout, "%d/%s%s%s%s%s%s%s%s%s\n",
+				    fi->number, fi->name, sep,
+				    fi->table, sep, fi->key, sep,
+				    fi->database, sep, fi->driver);
 			}
 			else {
-			    fprintf(stdout, "%d %s %s %s %s\n", fi->number,
-				    fi->table, fi->key, fi->database,
-				    fi->driver);
+			    fprintf(stdout, "%d%s%s%s%s%s%s%s%s\n",
+				    fi->number, sep,
+				    fi->table, sep, fi->key, sep,
+				    fi->database, sep, fi->driver);
 			}
 		    }
 		    else {