ソースを参照

wxGUI/preferences: minor clean-up of _readFile()

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@46587 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 14 年 前
コミット
e915b92c5f
1 ファイル変更16 行追加16 行削除
  1. 16 16
      gui/wxpython/gui_modules/preferences.py

+ 16 - 16
gui/wxpython/gui_modules/preferences.py

@@ -697,20 +697,22 @@ class Settings:
 
         @param filename settings file path
         @param settings dict where to store settings (None for self.userSettings)
-        
-        @return True on success
-        @return False on failure
         """
         if settings is None:
             settings = self.userSettings
-
+        
         if not os.path.exists(filename):
-            return False
+            return
+        
+        try:
+            fd = open(filename, "r")
+        except IOError:
+            sys.stderr.write(_("Unable to read settings file <%s>\n") % filename)
+            return
         
         try:
-            file = open(filename, "r")
             line = ''
-            for line in file.readlines():
+            for line in fd.readlines():
                 line = line.rstrip('%s' % os.linesep)
                 group, key = line.split(self.sep)[0:2]
                 kv = line.split(self.sep)[2:]
@@ -730,16 +732,14 @@ class Settings:
                     idx += 2
         except ValueError, e:
             print >> sys.stderr, _("Error: Reading settings from file <%(file)s> failed.\n"
-                                   "       Details: %(detail)s\n"
-                                   "       Line: '%(line)s'") % { 'file' : filename,
-                                                                  'detail' : e,
-                                                                  'line' : line }
-            file.close()
-            return False
+                                   "\t\tDetails: %(detail)s\n"
+                                   "\t\tLine: '%(line)s'\n") % { 'file' : filename,
+                                                               'detail' : e,
+                                                               'line' : line }
+            fd.close()
+        
+        fd.close()
         
-        file.close()
-        return True
-
     def SaveToFile(self, settings = None):
         """!Save settings to the file"""
         if settings is None: