diff options
| author | Tobias Kroenke <tobias@kroenke.de> | 2016-04-20 10:36:59 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-04-20 13:06:47 -0400 |
| commit | b040ac06ebba2348cece7390b88f746d2c91d07b (patch) | |
| tree | 5de9eeb2d1448854803505608513d5c5dd8ef1b1 /django | |
| parent | 973f393761253f5fbf031f435d103545f1927041 (diff) | |
Fixed #26520 -- Fixed a regression where SessionBase.pop() didn't return a KeyError.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/sessions/backends/base.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/django/contrib/sessions/backends/base.py b/django/contrib/sessions/backends/base.py index e18b3c753f..acade4a512 100644 --- a/django/contrib/sessions/backends/base.py +++ b/django/contrib/sessions/backends/base.py @@ -42,6 +42,8 @@ class SessionBase(object): TEST_COOKIE_NAME = 'testcookie' TEST_COOKIE_VALUE = 'worked' + __not_given = object() + def __init__(self, session_key=None): self._session_key = session_key self.accessed = False @@ -65,9 +67,10 @@ class SessionBase(object): def get(self, key, default=None): return self._session.get(key, default) - def pop(self, key, default=None): + def pop(self, key, default=__not_given): self.modified = self.modified or key in self._session - return self._session.pop(key, default) + args = () if default is self.__not_given else (default,) + return self._session.pop(key, *args) def setdefault(self, key, value): if key in self._session: |
