python3: adapt exception raising and handling (#31137)
This commit is contained in:
parent
54d01cf903
commit
f6fa7f7c56
|
@ -256,7 +256,7 @@ def extract_settings_from_environ():
|
|||
if 'LDAP_AUTH_SETTINGS' in os.environ:
|
||||
try:
|
||||
LDAP_AUTH_SETTINGS = json.loads(os.environ['LDAP_AUTH_SETTINGS'])
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
raise ImproperlyConfigured('LDAP_AUTH_SETTINGS is not a JSON document', e)
|
||||
|
||||
if 'CACHE_BACKEND' in os.environ:
|
||||
|
|
|
@ -257,7 +257,7 @@ def extract_settings_from_environ():
|
|||
if 'LDAP_AUTH_SETTINGS' in os.environ:
|
||||
try:
|
||||
LDAP_AUTH_SETTINGS = json.loads(os.environ['LDAP_AUTH_SETTINGS'])
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
raise ImproperlyConfigured('LDAP_AUTH_SETTINGS is not a JSON document', e)
|
||||
|
||||
if 'CACHE_BACKEND' in os.environ:
|
||||
|
|
|
@ -46,8 +46,8 @@ class SSLInfo(object):
|
|||
elif name == 'ModPythonRequest':
|
||||
env = request._req.subprocess_env
|
||||
else:
|
||||
raise EnvironmentError, 'The SSL authentication currently only \
|
||||
works with mod_python or wsgi requests'
|
||||
raise EnvironmentError('The SSL authentication currently only \
|
||||
works with mod_python or wsgi requests')
|
||||
self.read_env(env);
|
||||
pass
|
||||
|
||||
|
@ -77,10 +77,10 @@ class SSLInfo(object):
|
|||
if attr in self.__dict__:
|
||||
return self.__dict__[attr]
|
||||
else:
|
||||
raise AttributeError, 'SSLInfo does not contain key %s' % attr
|
||||
raise AttributeError('SSLInfo does not contain key %s' % attr)
|
||||
|
||||
def __setattr__(self, attr, value):
|
||||
raise AttributeError, 'SSL vars are read only!'
|
||||
raise AttributeError('SSL vars are read only!')
|
||||
|
||||
def __repr__(self):
|
||||
return '<SSLInfo %s>' % self.__dict__
|
||||
|
|
|
@ -313,7 +313,7 @@ class LDAPUser(get_user_model()):
|
|||
connection.simple_bind_s(self.dn, raw_password)
|
||||
except ldap.INVALID_CREDENTIALS:
|
||||
return False
|
||||
except ldap.LDAPError, e:
|
||||
except ldap.LDAPError as e:
|
||||
log.error('LDAPUser.check_password() failed: %s', e)
|
||||
return False
|
||||
self._current_password = raw_password
|
||||
|
@ -538,7 +538,7 @@ class LDAPBackend(object):
|
|||
n = len(user_filter.split('%s')) - 1
|
||||
try:
|
||||
query = filter_format(user_filter, (username,) * n)
|
||||
except TypeError, e:
|
||||
except TypeError as e:
|
||||
log.error('user_filter syntax error %r: %s', block['user_filter'],
|
||||
e)
|
||||
return
|
||||
|
@ -562,7 +562,7 @@ class LDAPBackend(object):
|
|||
if block['replicas']:
|
||||
break
|
||||
continue
|
||||
except ldap.LDAPError, e:
|
||||
except ldap.LDAPError as e:
|
||||
log.error('user lookup failed: with query %r got error %s: %s', username,
|
||||
query, e)
|
||||
continue
|
||||
|
|
|
@ -261,7 +261,7 @@ class SessionCache(PickleCacheMixin, SimpleDictionnaryCacheMixin,
|
|||
def errorcollector(error_dict):
|
||||
try:
|
||||
yield
|
||||
except ValidationError, e:
|
||||
except ValidationError as e:
|
||||
e.update_error_dict(error_dict)
|
||||
|
||||
|
||||
|
|
|
@ -23,5 +23,5 @@ def kill_django_sessions(session_key):
|
|||
store = engine.SessionStore(key)
|
||||
logging.debug('Killing session %s', key)
|
||||
store.delete()
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
logging.error(e)
|
||||
|
|
|
@ -114,7 +114,7 @@ def log_assert(func, exception_classes=(AssertionError,)):
|
|||
def f(request, *args, **kwargs):
|
||||
try:
|
||||
return func(request, *args, **kwargs)
|
||||
except exception_classes, e:
|
||||
except exception_classes as e:
|
||||
return error_redirect(request, e.message or repr(e))
|
||||
return f
|
||||
|
||||
|
@ -449,7 +449,7 @@ def sso(request):
|
|||
request.session['saml:authnRequest'] = login.request.getOriginalXmlnode()
|
||||
break
|
||||
except (lasso.ProfileInvalidMsgError,
|
||||
lasso.ProfileMissingIssuerError,), e:
|
||||
lasso.ProfileMissingIssuerError,) as e:
|
||||
logger.warning('invalid message for WebSSO profile with '
|
||||
'HTTP-Redirect binding: %r exception: %s' \
|
||||
% (message, e),
|
||||
|
@ -464,12 +464,12 @@ def sso(request):
|
|||
logger.warning("the request cannot be answered because no "
|
||||
"valid protocol binding could be found")
|
||||
return HttpResponseBadRequest(message, content_type='text/plain')
|
||||
except lasso.ProviderMissingPublicKeyError, e:
|
||||
except lasso.ProviderMissingPublicKeyError as e:
|
||||
log_info_authn_request_details(login)
|
||||
logger.warning('no public key found: %s', e)
|
||||
login.response.status.statusMessage = 'The public key is unknown'
|
||||
return return_login_response(request, login)
|
||||
except lasso.DsError, e:
|
||||
except lasso.DsError as e:
|
||||
log_info_authn_request_details(login)
|
||||
logger.warning('digital signature treatment error: %s', e)
|
||||
login.response.status.statusMessage = 'Signature validation failed'
|
||||
|
@ -938,7 +938,7 @@ def artifact(request):
|
|||
logger.error('provider loading failure')
|
||||
try:
|
||||
login.processRequestMsg(soap_message)
|
||||
except lasso.DsError, e:
|
||||
except lasso.DsError as e:
|
||||
logger.error('signature error for %s: %s'
|
||||
% (e, login.remoteProviderId))
|
||||
else:
|
||||
|
@ -1056,7 +1056,7 @@ def finish_slo(request):
|
|||
# SP sent us a logout request but we do not know its Response endpoint, just continue to the
|
||||
# homepage
|
||||
return redirect('auth_homepage')
|
||||
except lasso.Error, e:
|
||||
except lasso.Error as e:
|
||||
logger.warning('logout.buildResponseMsg() failed: %s', e)
|
||||
return redirect('auth_homepage')
|
||||
if all_sessions.exists():
|
||||
|
@ -1308,7 +1308,7 @@ def slo_soap(request):
|
|||
'''
|
||||
logger.error('one provider does \
|
||||
not support SOAP %s' % [s.provider_id for s in lib_sessions])
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
logger.exception('slo, unknown error %s' % str(e))
|
||||
logout.buildResponseMsg()
|
||||
provider = LibertyProvider.objects.get(entity_id=logout.remoteProviderId)
|
||||
|
@ -1387,18 +1387,18 @@ def slo(request):
|
|||
try:
|
||||
logout.processRequestMsg(message)
|
||||
except (lasso.ServerProviderNotFoundError,
|
||||
lasso.ProfileUnknownProviderError), e:
|
||||
lasso.ProfileUnknownProviderError) as e:
|
||||
load_provider(request, logout.remoteProviderId,
|
||||
server=logout.server)
|
||||
logout.processRequestMsg(message)
|
||||
except lasso.DsError, e:
|
||||
except lasso.DsError as e:
|
||||
logger.exception('signature error %s' % e)
|
||||
logout.buildResponseMsg()
|
||||
provider = LibertyProvider.objects.get(entity_id=logout.remoteProviderId)
|
||||
return return_saml2_response(request, logout,
|
||||
title=_('You are being redirected to "%s"') % provider.name)
|
||||
except (lasso.ProfileInvalidMsgError,
|
||||
lasso.ProfileMissingIssuerError), e:
|
||||
lasso.ProfileMissingIssuerError) as e:
|
||||
return error_page(request, _('Invalid logout request'), logger=logger, warning=True)
|
||||
session_indexes = logout.request.sessionIndexes
|
||||
if len(session_indexes) == 0:
|
||||
|
@ -1427,7 +1427,7 @@ def slo(request):
|
|||
set_session_dump_from_liberty_sessions(logout, [last_session])
|
||||
try:
|
||||
logout.validateRequest()
|
||||
except lasso.Error, e:
|
||||
except lasso.Error as e:
|
||||
logger.warning('logout request validation failed: %s', e)
|
||||
return return_logout_error(request, logout,
|
||||
AUTHENTIC_STATUS_CODE_INTERNAL_SERVER_ERROR)
|
||||
|
@ -1532,7 +1532,7 @@ def idp_slo(request, provider_id=None):
|
|||
logger.info('slo by SOAP')
|
||||
try:
|
||||
soap_response = send_soap_request(request, logout)
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
logger.exception('slo SOAP failure due to %s' % str(e))
|
||||
return redirect_next(request, next) or ko_icon(request)
|
||||
return process_logout_response(request, logout, soap_response, next)
|
||||
|
|
|
@ -31,7 +31,7 @@ def compute_not_on_or_after(now, not_on_or_after):
|
|||
def unlink_if_exists(path):
|
||||
try:
|
||||
os.unlink(path)
|
||||
except OSError, e:
|
||||
except OSError as e:
|
||||
if e.errno != errno.ENOENT:
|
||||
raise
|
||||
|
||||
|
@ -47,7 +47,7 @@ def accept_nonce_file_storage(path, now, value, context=None,
|
|||
# test if the file exists
|
||||
try:
|
||||
stat = os.stat(file_path)
|
||||
except OSError, e:
|
||||
except OSError as e:
|
||||
# test if it doesnt exit or if another error happened
|
||||
if e.errno != errno.ENOENT:
|
||||
raise
|
||||
|
@ -75,7 +75,7 @@ def accept_nonce_file_storage(path, now, value, context=None,
|
|||
raise
|
||||
try:
|
||||
os.link(temp_file.name, file_path)
|
||||
except OSError, e:
|
||||
except OSError as e:
|
||||
if e.errno == errno.EEXIST:
|
||||
unlink_if_exists(temp_file.name)
|
||||
return False
|
||||
|
@ -100,14 +100,14 @@ def cleanup_nonces_file_storage(dir_path, now):
|
|||
now_time = timegm(now.utctimetuple())
|
||||
try:
|
||||
stat = os.stat(nonce_path)
|
||||
except OSError, e:
|
||||
except OSError as e:
|
||||
if e.errno == errno.ENOENT:
|
||||
continue
|
||||
raise
|
||||
if stat.st_mtime < now_time:
|
||||
try:
|
||||
os.unlink(nonce_path)
|
||||
except OSError, e:
|
||||
except OSError as e:
|
||||
if e.errno == errno.ENOENT:
|
||||
continue
|
||||
raise
|
||||
|
|
|
@ -33,7 +33,7 @@ def get_plugins(group_name=DEFAULT_GROUP_NAME, use_cache=True, *args, **kwargs):
|
|||
for entrypoint in pkg_resources.iter_entry_points(group_name):
|
||||
try:
|
||||
plugin_callable = entrypoint.load()
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
logger.exception('unable to load entrypoint %s', entrypoint)
|
||||
raise PluginError('unable to load entrypoint %s' % entrypoint, e)
|
||||
plugins.append(plugin_callable(*args, **kwargs))
|
||||
|
|
|
@ -90,7 +90,7 @@ def update_metadata(modeladmin, request, queryset):
|
|||
for provider in qs:
|
||||
try:
|
||||
provider.update_metadata()
|
||||
except ValidationError, e:
|
||||
except ValidationError as e:
|
||||
params = {
|
||||
'name': provider,
|
||||
'error_msg': u', '.join(e.messages)
|
||||
|
|
|
@ -313,7 +313,7 @@ def retrieve_metadata_and_create(request, provider_id, sp_or_idp):
|
|||
# Try the WKL
|
||||
try:
|
||||
metadata = get_url(provider_id)
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
logging.error('SAML metadata autoload: failure to retrieve metadata '
|
||||
'for entity id %s: %s', provider_id, e)
|
||||
return None
|
||||
|
@ -327,7 +327,7 @@ def retrieve_metadata_and_create(request, provider_id, sp_or_idp):
|
|||
p = LibertyProvider(metadata=metadata)
|
||||
try:
|
||||
p.full_clean(exclude=['entity_id', 'protocol_conformance'])
|
||||
except ValidationError, e:
|
||||
except ValidationError as e:
|
||||
logging.error('SAML metadata autoload: retrieved metadata for entity '
|
||||
'id %s are invalid, %s', provider_id, e.args)
|
||||
return None
|
||||
|
@ -453,7 +453,7 @@ def soap_call(url, msg):
|
|||
logger.debug('SOAP call to %r with data %r', url, msg[:10000])
|
||||
response = requests.post(url, data=msg, headers={'Content-Type': 'text/xml'})
|
||||
response.raise_for_status()
|
||||
except requests.RequestException, e:
|
||||
except requests.RequestException as e:
|
||||
logging.error('SOAP call to %r error %s with data %r', url, e, msg[:10000])
|
||||
raise SOAPException(url, e)
|
||||
logger.debug('SOAP call response %r', response.content[:10000])
|
||||
|
|
|
@ -36,7 +36,7 @@ class AddLibertyProviderFromUrlForm(forms.Form):
|
|||
response = requests.get(url)
|
||||
response.raise_for_status()
|
||||
content = response.content
|
||||
except requests.RequestException, e:
|
||||
except requests.RequestException as e:
|
||||
raise ValidationError(_('Retrieval of %(url)s failed: %(exception)s') % {
|
||||
'url': url,
|
||||
'exception': e
|
||||
|
|
|
@ -314,7 +314,7 @@ Any other kind of attribute filter policy is unsupported.
|
|||
|
||||
try:
|
||||
doc = etree.parse(metadata_file)
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
raise CommandError('XML parsing error: %s' % str(e))
|
||||
if doc.getroot().tag == ENTITY_DESCRIPTOR_TN:
|
||||
load_one_entity(doc.getroot(), options)
|
||||
|
@ -356,7 +356,7 @@ Any other kind of attribute filter policy is unsupported.
|
|||
sp_policy=sp_policy,
|
||||
afp=afp)
|
||||
loaded.append(entity_descriptor.get(ENTITY_ID))
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
if not options['ignore-errors']:
|
||||
raise
|
||||
if verbosity > 0:
|
||||
|
|
|
@ -358,7 +358,7 @@ class LibertyProvider(Service):
|
|||
if not self.metadata_url:
|
||||
raise ValidationError(_('No metadata URL'))
|
||||
response = requests.get(self.metadata_url)
|
||||
except requests.RequestException, e:
|
||||
except requests.RequestException as e:
|
||||
raise ValidationError(_('Retrieval of metadata failed: %s') % e)
|
||||
else:
|
||||
self.metadata = response.content
|
||||
|
|
|
@ -397,7 +397,7 @@ def get_attributes_from_assertion(assertion, logger):
|
|||
format = attribute.nameFormat.decode('ascii')
|
||||
if attribute.friendlyName:
|
||||
nickname = attribute.friendlyName
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
message = 'get_attributes_from_assertion: name or format of an \
|
||||
attribute failed to decode as ascii: %s due to %s'
|
||||
logger.warning(message % (attribute.dump(), str(e)))
|
||||
|
@ -412,7 +412,7 @@ def get_attributes_from_assertion(assertion, logger):
|
|||
content = ''.join(content)
|
||||
attributes[(name, format)].append(content.\
|
||||
decode('utf8'))
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
message = 'get_attributes_from_assertion: value of an \
|
||||
attribute failed to decode as ascii: %s due to %s'
|
||||
logger.warning(message % (attribute.dump(), str(e)))
|
||||
|
|
|
@ -138,9 +138,9 @@ def load_backend(path):
|
|||
module, attr = path[:i], path[i + 1:]
|
||||
try:
|
||||
mod = import_module(module)
|
||||
except ImportError, e:
|
||||
except ImportError as e:
|
||||
raise ImproperlyConfigured('Error importing idp backend %s: "%s"' % (module, e))
|
||||
except ValueError, e:
|
||||
except ValueError as e:
|
||||
raise ImproperlyConfigured('Error importing idp backends. Is IDP_BACKENDS a correctly '
|
||||
'defined list or tuple?')
|
||||
try:
|
||||
|
|
|
@ -41,7 +41,7 @@ class AuthenticAdapter(DefaultAdapter):
|
|||
try:
|
||||
value = saml_attributes[saml_attribute]
|
||||
self.set_user_attribute(user, attribute, value)
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
log.error(u'failed to set attribute %r from saml attribute %r with value %r: %s',
|
||||
attribute, saml_attribute, value, e,
|
||||
extra={'attributes': repr(saml_attributes)})
|
||||
|
|
Loading…
Reference in New Issue