Django

Code

Changeset 6831

Show
Ignore:
Timestamp:
12/02/07 09:27:29 (10 months ago)
Author:
mtredinnick
Message:

Fixed #6087 -- Added setdefault() support to the Session object. Thanks, Ben
Slavin.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/contrib/sessions/backends/base.py

    r6558 r6831  
    5151        self.modified = self.modified or key in self._session 
    5252        return self._session.pop(key, *args) 
     53 
     54    def setdefault(self, key, value): 
     55        if key in self._session: 
     56            return self._session[key] 
     57        else: 
     58            self.modified = True 
     59            self._session[key] = value 
     60            return value 
    5361 
    5462    def set_test_cookie(self): 
  • django/trunk/django/contrib/sessions/tests.py

    r6558 r6831  
    6767(True, False) 
    6868 
     69>>> s.setdefault('foo', 'bar') 
     70'bar' 
     71>>> s.setdefault('foo', 'baz') 
     72'bar' 
     73 
    6974>>> s.accessed = False  # Reset the accessed flag 
    7075 
  • django/trunk/docs/sessions.txt

    r6384 r6831  
    9999 
    100100    * ``items()`` 
     101 
     102    * ``setdefault()`` 
    101103 
    102104It also has these three methods: