From 6c484ce7ff155e5aa1d14d5f2a13fb5989b0e1db Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 30 Jul 2019 16:12:10 +0100 Subject: [PATCH] memcache: Remove any spaces from keys Signed-off-by: Michael Tremer --- src/backend/memcached.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/backend/memcached.py b/src/backend/memcached.py index e8437d7c..eac8a3a8 100644 --- a/src/backend/memcached.py +++ b/src/backend/memcached.py @@ -10,6 +10,8 @@ class Memcached(Object): self._connection = memcache.Client(["localhost"], debug=1) def get(self, key, *args, **kwargs): + key = self._sanitize_key(key) + logging.debug("Retrieving %s from cache..." % key) ret = self._connection.get(key, *args, **kwargs) @@ -22,6 +24,8 @@ class Memcached(Object): return ret def get_multi(self, keys, *args, **kwargs): + keys = (self._sanitize_key(key) for key in keys) + logging.debug("Retrieving keys from cache: %s" % keys) ret = self._connection.get_multi(keys, *args, **kwargs) @@ -34,6 +38,8 @@ class Memcached(Object): return ret def add(self, key, data, *args, **kwargs): + key = self._sanitize_key(key) + if data is None: logging.debug("Putting nothing into cache for %s" % key) else: @@ -42,6 +48,8 @@ class Memcached(Object): return self._connection.add(key, data, *args, **kwargs) def set(self, key, data, *args, **kwargs): + key = self._sanitize_key(key) + if data is None: logging.debug("Putting nothing into cache for %s" % key) else: @@ -50,9 +58,18 @@ class Memcached(Object): return self._connection.set(key, data, *args, **kwargs) def delete(self, key, *args, **kwargs): + key = self._sanitize_key(key) + return self._connection.delete(key, *args, **kwargs) def incr(self, key): + key = self._sanitize_key(key) + logging.debug("Incrementing key %s" % key) return self._connection.incr(key) + + @staticmethod + def _sanitize_key(key): + # Memcache does not seem to like any spaces + return key.replace(" ", "-") -- 2.47.3