Don't index exceptions directly

In Python 3, exceptions don't behave as tuples of their arguments;
instead of e[1] it's necessary to use e.args[1].

https://fedorahosted.org/freeipa/ticket/5623

Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
Petr Viktorin
2016-01-05 13:36:15 +01:00
committed by Jan Cholasta
parent 126d899321
commit 465dd9829c
2 changed files with 4 additions and 4 deletions

View File

@@ -1284,14 +1284,14 @@ class cli(backend.Executioner):
except IOError as e: except IOError as e:
raise ValidationError( raise ValidationError(
name=to_cli(p.cli_name), name=to_cli(p.cli_name),
error='%s: %s:' % (fname, e[1]) error='%s: %s:' % (fname, e.args[1])
) )
elif p.stdin_if_missing: elif p.stdin_if_missing:
try: try:
raw = sys.stdin.read() raw = sys.stdin.read()
except IOError as e: except IOError as e:
raise ValidationError( raise ValidationError(
name=to_cli(p.cli_name), error=e[1] name=to_cli(p.cli_name), error=e.args[1]
) )
if raw: if raw:

View File

@@ -221,7 +221,7 @@ def validated_read(argname, filename, mode='r', encoding=None):
raise errors.ValidationError( raise errors.ValidationError(
name=argname, name=argname,
error=_("Cannot read file '%(filename)s': %(exc)s") % { error=_("Cannot read file '%(filename)s': %(exc)s") % {
'filename': filename, 'exc': exc[1] 'filename': filename, 'exc': exc.args[1]
} }
) )
except UnicodeError as exc: except UnicodeError as exc:
@@ -1547,7 +1547,7 @@ class vault_archive(PKQuery, Local):
except OSError as exc: except OSError as exc:
raise errors.ValidationError(name="in", error=_( raise errors.ValidationError(name="in", error=_(
"Cannot read file '%(filename)s': %(exc)s") "Cannot read file '%(filename)s': %(exc)s")
% {'filename': input_file, 'exc': exc[1]}) % {'filename': input_file, 'exc': exc.args[1]})
if stat.st_size > MAX_VAULT_DATA_SIZE: if stat.st_size > MAX_VAULT_DATA_SIZE:
raise errors.ValidationError(name="in", error=_( raise errors.ValidationError(name="in", error=_(
"Size of data exceeds the limit. Current vault data size " "Size of data exceeds the limit. Current vault data size "