From d938091b26640a31028c0fb492f988bdaec948c8 Mon Sep 17 00:00:00 2001 From: j Date: Fri, 11 Dec 2015 19:27:54 +0100 Subject: [PATCH] add option delete option to cache --- ox/cache.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ox/cache.py b/ox/cache.py index 882700a..2dbc0e2 100644 --- a/ox/cache.py +++ b/ox/cache.py @@ -217,6 +217,17 @@ class SQLiteCache(Cache): conn.close() return r + def delete(self, url, data=None, headers=DEFAULT_HEADERS): + if data: + url_hash = hashlib.sha1((url + '?' + data).encode('utf-8')).hexdigest() + else: + url_hash = hashlib.sha1(url.encode('utf-8')).hexdigest() + conn = self.connect() + c = conn.cursor() + sql = 'DELETE FROM cache WHERE url_hash=?' + t = (url_hash, ) + c.execute(sql, t) + def set(self, url, post_data, data, headers): if post_data: url_hash = hashlib.sha1((url + '?' + post_data).encode('utf-8')).hexdigest() @@ -302,6 +313,16 @@ class FileCache(Cache): r = zlib.decompress(r) return r + def delete(self, url, data=None, headers=DEFAULT_HEADERS): + if data: + url_hash = hashlib.sha1((url + '?' + data).encode('utf-8')).hexdigest() + else: + url_hash = hashlib.sha1(url.encode('utf-8')).hexdigest() + domain = ".".join(urllib.parse.urlparse(url)[1].split('.')[-2:]) + prefix, i, f = self.files(domain, url_hash) + if os.path.exists(i): + os.unlink(i) + def set(self, url, post_data, data, headers): if post_data: url_hash = hashlib.sha1((url + '?' + post_data).encode('utf-8')).hexdigest()