diff --git a/.gitignore b/.gitignore index 42d8d04..53fc769 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ build *.py? *.egg-info *.swp +build/ +dist/ diff --git a/beaker_extensions/nosql.py b/beaker_extensions/nosql.py index e6891d1..a9d3391 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, 2) 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)]