Browse Source

broken links to source code and history in add-ons user manuals (see https://trac.osgeo.org/grass/ticket/3224)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@70235 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 8 years ago
parent
commit
ea59a0ff95
3 changed files with 26 additions and 8 deletions
  1. 14 5
      general/g.proj/output.c
  2. 4 1
      scripts/g.extension/g.extension.py
  3. 8 2
      tools/mkhtml.py

+ 14 - 5
general/g.proj/output.c

@@ -30,7 +30,7 @@ static int check_xy(int shell);
 
 void print_projinfo(int shell, const char *force_epsg)
 {
-    int i;
+    int i, quote;
     char path[GPATH_MAX];
 
     if (check_xy(shell))
@@ -40,10 +40,19 @@ void print_projinfo(int shell, const char *force_epsg)
 	fprintf(stdout,
 		"-PROJ_INFO-------------------------------------------------\n");
     for (i = 0; i < projinfo->nitems; i++) {
-	if (shell)
-	    fprintf(stdout, "%s=%s\n", projinfo->key[i], projinfo->value[i]);
-	else
-	    fprintf(stdout, "%-11s: %s\n", projinfo->key[i], projinfo->value[i]);
+        quote = FALSE;
+        if (strcmp(projinfo->key[i], "name") == 0)
+            quote = TRUE;
+
+        if (shell) {
+            if (quote)
+                fprintf(stdout, "%s=\"%s\"\n", projinfo->key[i], projinfo->value[i]);
+            else
+                fprintf(stdout, "%s=%s\n", projinfo->key[i], projinfo->value[i]);
+        }
+        else {
+            fprintf(stdout, "%-11s: %s\n", projinfo->key[i], projinfo->value[i]);
+        }
     }
 
     /* EPSG code is preserved for historical metadata interest only:

+ 4 - 1
scripts/g.extension/g.extension.py

@@ -1125,6 +1125,8 @@ def download_source_code(source, url, name, outdev,
 def install_extension_std_platforms(name, source, url):
     """Install extension on standard platforms"""
     gisbase = os.getenv('GISBASE')
+    source_url = "https://trac.osgeo.org/grass/browser/grass-addons/grass7/"
+
     if source == 'official':
         gscript.message(_("Fetching <%s> from "
                           "GRASS GIS Addons repository (be patient)...") % name)
@@ -1167,7 +1169,8 @@ def install_extension_std_platforms(name, source, url):
         'MANBASEDIR=%s' % dirs['man'],
         'SCRIPTDIR=%s' % dirs['script'],
         'STRINGDIR=%s' % dirs['string'],
-        'ETC=%s' % os.path.join(dirs['etc'])
+        'ETC=%s' % os.path.join(dirs['etc']),
+        'SOURCE_URL=%s' % source_url
     ]
 
     install_cmd = [

+ 8 - 2
tools/mkhtml.py

@@ -305,8 +305,14 @@ if not year:
 topdir = os.path.abspath(os.getenv("MODULE_TOPDIR"))
 curdir = os.path.abspath(os.path.curdir)
 pgmdir = curdir.replace(topdir, '').lstrip('/')
-url_source = urlparse.urljoin(source_url, pgmdir)
-
+if os.getenv('SOURCE_URL', ''):
+    # addons
+    pgmname = os.path.basename(pgmdir)
+    classname = index_names[pgmname[:pgmname.find('.')]]
+    url_source = urlparse.urljoin('{}{}/'.format(os.environ['SOURCE_URL'], classname),
+                                  pgmname)
+else:
+    url_source = urlparse.urljoin(source_url, pgmdir)
 if index_name:
     sys.stdout.write(sourcecode.substitute(URL_SOURCE=url_source, PGM=pgm,
                                            URL_LOG=url_source.replace('browser',  'log')))