Commits

Anonymous committed ba64bb1

0.12.3dev: Raises `TracError` if a config file cannot be read, and `trac-admin` handles the exception.

Closes #10044.

  • Participants
  • Parent commits d7ad074
  • Branches 0.12-stable

Comments (0)

Files changed (2)

File trac/admin/console.py

         return self.complete_line(text, line)
         
     def default(self, line):
-        if not self.env_check():
-            raise AdminCommandError(_("Command not found"))
+        try:
+            if not self.__env:
+                self._init_env()
+        except TracError, e:
+            raise AdminCommandError(to_unicode(e))
+        except Exception, e:
+            raise AdminCommandError(exception_to_unicode(e))
         args = self.arg_tokenize(line)
         cmd_mgr = AdminCommandManager(self.env)
         return cmd_mgr.execute_command(*args)

File trac/config.py

         if force or modtime > self._lastmtime:
             self._sections = {}
             self.parser._sections = {}
-            self.parser.read(self.filename)
+            if not self.parser.read(self.filename):
+                raise TracError(_("Error reading '%(file)s', make sure it is "
+                                  "readable.", file=self.filename))
             self._lastmtime = modtime
             self._old_sections = deepcopy(self.parser._sections)
             changed = True