소스 검색

wxGUI: fix translator.csv file + update ghelp.py to catch errors

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@45241 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 14 년 전
부모
커밋
8f593fe2d4
2개의 변경된 파일26개의 추가작업 그리고 3개의 파일을 삭제
  1. 25 2
      gui/wxpython/gui_modules/ghelp.py
  2. 1 1
      translators.csv

+ 25 - 2
gui/wxpython/gui_modules/ghelp.py

@@ -38,6 +38,7 @@ import menudata
 import gcmd
 import globalvar
 import gdialogs
+import utils
 
 class HelpFrame(wx.Frame):
     """!GRASS Quickstart help window"""
@@ -665,11 +666,22 @@ class AboutWindow(wx.Frame):
         if os.path.exists(contribfile):
             contribFile = open(contribfile, 'r')
             contribs = list()
+            errLines = list()
             for line in contribFile.readlines():
-                cvs_id, name, email, country, osgeo_id, rfc2_agreed = line.split(',')
+                line = line.rstrip('\n')
+                try:
+                    cvs_id, name, email, country, osgeo_id, rfc2_agreed = line.split(',')
+                except ValueError:
+                    errLines.append(line)
+                    continue
                 contribs.append((name, email, country, osgeo_id))
             contribs[0] = (_('Name'), _('E-mail'), _('Country'), _('OSGeo_ID'))
             contribFile.close()
+            
+            if errLines:
+                gcmd.GError(parent = self,
+                            message = _("Error when reading file '%s'.\n\nLines: %s") % \
+                                (translatorsfile, os.linesep.join(map (utils.UnicodeString, errLines))))
         else:
             contribs = None
         
@@ -704,13 +716,24 @@ class AboutWindow(wx.Frame):
         if os.path.exists(translatorsfile):
             translatorsFile = open(translatorsfile, 'r')
             translators = dict()
+            errLines = list()
             for line in translatorsFile.readlines()[1:]:
-                name, email, languages = line.rstrip('\n').split(',')
+                line = line.rstrip('\n')
+                try:
+                    name, email, languages = line.split(',')
+                except ValueError:
+                    errLines.append(line)
+                    continue
                 for language in languages.split(' '):
                     if not translators.has_key(language):
                         translators[language] = list()
                     translators[language].append((name, email))
             translatorsFile.close()
+            
+            if errLines:
+                gcmd.GError(parent = self,
+                            message = _("Error when reading file '%s'.\n\nLines: %s") % \
+                                (translatorsfile, os.linesep.join(map (utils.UnicodeString, errLines))))
         else:
             translators = None
         

+ 1 - 1
translators.csv

@@ -59,7 +59,7 @@ Sarawut Ninsawat,<sarawut.map gmail.com>,TH
 Aras.Gor.O Yalcin Yilmaz,<yilmazy istanbul.edu.tr>,TR
 Saban Safak,<ssafak cvm.com.tr>,TR
 Bui Huu Manh,<bhmanh73 yahoo.com>,VI
-Lê Quốc Thái, <lquocthai ioit.ac.vn>,VI
+Lê Quốc Thái,<lquocthai ioit.ac.vn>,VI
 Su Yongheng,<night2008 gmail.com>,ZH
 Zhang Jun,<nilarcs gmail.com>,ZH
 Shulin Yang,<shulin.yang.9 gmail.com>,ZH