8541: Crash following update: addon permission issue blocks

re-starting gramps

There were two issues:

1. attempting to read a new addon file that wasn't readable
   threw an exception, aborted updating addons

2. global error catching didn't properly handle error code
   from an OSError for Python3
This commit is contained in:
Doug Blank 2015-05-05 13:44:20 -04:00
parent 9683a9e9eb
commit 2701d51b62
2 changed files with 11 additions and 5 deletions

View File

@ -1100,10 +1100,16 @@ class PluginRegister(object):
continue
lenpd = len(self.__plugindata)
full_filename = os.path.join(dir, filename)
if sys.version_info[0] < 3:
fd = open(full_filename, "r")
else:
fd = io.open(full_filename, "r", encoding='utf-8')
try:
if sys.version_info[0] < 3:
fd = open(full_filename, "r")
else:
fd = io.open(full_filename, "r", encoding='utf-8')
except Exception as msg:
print(_('ERROR: Failed reading plugin registration %(filename)s') % \
{'filename' : filename})
print(msg)
continue
stream = fd.read()
fd.close()
if os.path.exists(os.path.join(os.path.dirname(full_filename),

View File

@ -378,7 +378,7 @@ def __startgramps(errors, argparser):
% e.code, exc_info=True)
except OSError as e:
quit_now = True
exit_code = e[0] or 1
exit_code = e.errno or 1
try:
fn = e.filename
except AttributeError: