Browse Source

g.extension: support multiple GRASS_ADDONS_PATH values

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@46757 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 14 years ago
parent
commit
1c17aac89f
1 changed files with 10 additions and 3 deletions
  1. 10 3
      scripts/g.extension/g.extension.py

+ 10 - 3
scripts/g.extension/g.extension.py

@@ -416,10 +416,17 @@ def main():
     if options['prefix'] == '$GRASS_ADDON_PATH':
         if not os.environ.has_key('GRASS_ADDON_PATH') or \
                 not os.environ['GRASS_ADDON_PATH']:
-            grass.warning(_("GRASS_ADDON_PATH is not defined, installing to ~/.grass7/addons/"))
-            options['prefix'] = os.path.join(os.environ['HOME'], '.grass7', 'addons')
+            major_version = int(grass.version()['version'].split('.', 1)[0])
+            grass.warning(_("GRASS_ADDON_PATH is not defined, "
+                            "installing to ~/.grass%d/addons/") % major_version)
+            options['prefix'] = os.path.join(os.environ['HOME'], '.grass%d' % major_version, 'addons')
         else:
-            options['prefix'] = os.environ['GRASS_ADDON_PATH']
+            path_list = os.environ['GRASS_ADDON_PATH'].split(os.pathsep)
+            if len(path_list) < 1:
+                grass.fatal(_("Invalid GRASS_ADDON_PATH value - '%s'") % os.environ['GRASS_ADDON_PATH'])
+            if len(path_list) > 1:
+                grass.warning(_("GRASS_ADDON_PATH has more items, using first defined - '%s'") % path_list[0])
+            options['prefix'] = path_list[0]
     
     # check dirs
     check_dirs()