Skip to content

Commit

Permalink
Redis set_value() needs to be able to accept expiretime, but should n…
Browse files Browse the repository at this point in the history
…ot break when it's called from outside container.py. E.g. session.py
  • Loading branch information
didip committed Sep 8, 2012
1 parent aba6dae commit d0006ca
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions beaker_extensions/redis_.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,14 @@ def __contains__(self, key):
def set_value(self, key, value, expiretime=None):
key = self._format_key(key)

#XXX: beaker.container.Value.set_value calls NamespaceManager.set_value
# however it(until version 1.6.3) never sets expiretime param. Why?
# Fortunately we can access expiretime through value.
# >>> value = list(storedtime, expire_argument, real_value)
if expiretime is None:
#
# beaker.container.Value.set_value calls NamespaceManager.set_value
# however it (until version 1.6.4) never sets expiretime param.
#
# Checking "type(value) is tuple" is a compromise
# because Manager class can be instantiated outside container.py (See: session.py)
#
if (expiretime is None) and (type(value) is tuple):
expiretime = value[1]

if expiretime:
Expand Down

0 comments on commit d0006ca

Please sign in to comment.