diff --git a/aiohttp_security/session_identity.py b/aiohttp_security/session_identity.py index 5fdf55a..5d9cea0 100644 --- a/aiohttp_security/session_identity.py +++ b/aiohttp_security/session_identity.py @@ -6,7 +6,11 @@ to configure aiohttp_session properly. import asyncio -from aiohttp_session import get_session +try: + from aiohttp_session import get_session + HAS_AIOHTTP_SESSION = True +except ImportError: # pragma: no cover + HAS_AIOHTTP_SESSION = False from .abc import AbstractIdentityPolicy @@ -16,6 +20,10 @@ class SessionIdentityPolicy(AbstractIdentityPolicy): def __init__(self, session_key='AIOHTTP_SECURITY'): self._session_key = session_key + if not HAS_AIOHTTP_SESSION: # pragma: no cover + raise ImportError( + 'SessionIdentityPolicy requires `aiohttp_session`') + @asyncio.coroutine def identify(self, request): session = yield from get_session(request)