Browse Source

g.extension: catch error when unable to parse modules.xml

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@50844 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 13 năm trước cách đây
mục cha
commit
98f920d838
1 tập tin đã thay đổi với 7 bổ sung1 xóa
  1. 7 1
      scripts/g.extension/g.extension.py

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

@@ -271,9 +271,14 @@ def get_toolbox_modules(name):
 def list_available_modules(mlist = None):
     # try to download XML metadata file first
     url = "http://grass.osgeo.org/addons/grass%s/modules.xml" % version[0]
+    grass.debug("url=%s" % url, 1)
     try:
         f = urlopen(url)
-        tree = etree.fromstring(f.read())
+        try:
+            tree = etree.fromstring(f.read())
+        except:
+            grass.fatal(_("Unable to parse '%s'") % url)
+        
         for mnode in tree.findall('task'):
             name = mnode.get('name').strip()
             if mlist and name not in mlist:
@@ -647,6 +652,7 @@ def install_extension_win(name):
     ### TODO: do not use hardcoded url - http://wingrass.fsv.cvut.cz/grassXX/addonsX.X.X
     grass.message(_("Downloading precompiled GRASS Addons <%s>...") % options['extension'])
     url = "http://wingrass.fsv.cvut.cz/grass%s%s/addons" % (version[0], version[1])
+    
     if version[2][-3:] != 'svn':
         url += '%s.%s.%s' % (version[0], version[1], version[2])
     grass.debug("url=%s" % url, 1)