From 197ad9595995a990b7bbed9e8394cce6144ddbc5 Mon Sep 17 00:00:00 2001 From: inpos Date: Sat, 12 Mar 2016 15:24:20 +0300 Subject: [PATCH] . --- resources/proxy/antizapret.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/resources/proxy/antizapret.py b/resources/proxy/antizapret.py index 944a6e4..e54ed17 100644 --- a/resources/proxy/antizapret.py +++ b/resources/proxy/antizapret.py @@ -20,15 +20,20 @@ def shelf(filename, ttl=0): filename = os.path.join(CACHE_DIR, filename) with LOCKS.get(filename, threading.RLock()): # with closing(shelve.open(filename, writeback=True)) as d: - import time - if not dict(d): - d.update({ - "created_at": time.time(), - "data": {}, - }) - elif ttl > 0 and (time.time() - d["created_at"]) > ttl: - d["data"] = {} - return d + d = shelve.open(filename, writeback=True) + try: + import time + if not dict(d): + d.update({ + "created_at": time.time(), + "data": {}, + }) + elif ttl > 0 and (time.time() - d["created_at"]) > ttl: + d["data"] = {} + return d + except: + d.close() + raise _config = {}