diff --git a/aiohttp_security/session_identity.py b/aiohttp_security/session_identity.py index 5fdf55a..69e1563 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: + 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: + raise ImportError( + 'SessionIdentityPolicy requires aiohttp_session') + @asyncio.coroutine def identify(self, request): session = yield from get_session(request)