From d14f43e9b1b933b79dcdadbda54559da0066c098 Mon Sep 17 00:00:00 2001 From: Xiaonuo Gantan Date: Thu, 27 Sep 2012 02:30:25 +0000 Subject: [PATCH] Add a new keyword argument expiretime to nosql.py Allow NoSqlManager to accept a new keyword argument expire, which is accepted as an optional argument by the method set_value in redis.py to specify the expire time in seconds for the session object --- .gitignore | 2 ++ beaker_extensions/nosql.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 74df230..f1db991 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ *.py? *.egg-info *.swp +build/ +dist/ diff --git a/beaker_extensions/nosql.py b/beaker_extensions/nosql.py index 3f0976b..8f99482 100644 --- a/beaker_extensions/nosql.py +++ b/beaker_extensions/nosql.py @@ -13,7 +13,7 @@ log = logging.getLogger(__name__) class NoSqlManager(NamespaceManager): - def __init__(self, namespace, url=None, data_dir=None, lock_dir=None, **params): + def __init__(self, namespace, url=None, data_dir=None, lock_dir=None, expire=None, **params): NamespaceManager.__init__(self, namespace) if not url: @@ -26,6 +26,8 @@ def __init__(self, namespace, url=None, data_dir=None, lock_dir=None, **params): if hasattr(self, 'lock_dir'): verify_directory(self.lock_dir) + self._expiretime = int(expire) if expire else None + conn_params = {} parts = url.split('?', 1) url = parts[0] @@ -60,7 +62,7 @@ def set_value(self, key, value): self.db_conn[self._format_key(key)] = pickle.dumps(value) def __setitem__(self, key, value): - self.set_value(key, value) + self.set_value(key, value, self._expiretime) def __delitem__(self, key): del self.db_conn[self._format_key(key)]