Commit 07ba0dba authored by Jacob Kaplan-Moss's avatar Jacob Kaplan-Moss
Browse files

Fixed #10646: `cache.incr()` and `decr()` now fail consistantly under...

Fixed #10646: `cache.incr()` and `decr()` now fail consistantly under python-memcache and cmemcache.

Though it looks like this commit has no tests that's not so: this is tested for in `regressiontests/cache/tests.py` around like 183; these tests currently fail if ran against cmemcache.

Thanks, andrewfong.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@11855 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 1c5fe467
Loading
Loading
Loading
Loading
+23 −2
Original line number Diff line number Diff line
@@ -46,7 +46,28 @@ class CacheClass(BaseCache):
        self._cache.disconnect_all()

    def incr(self, key, delta=1):
        return self._cache.incr(key, delta)
        try:
            val = self._cache.incr(key, delta)

        # python-memcache responds to incr on non-existent keys by
        # raising a ValueError. Cmemcache returns None. In both
        # cases, we should raise a ValueError though.
        except ValueError:
            val = None
        if val is None:
            raise ValueError("Key '%s' not found" % key)

        return val

    def decr(self, key, delta=1):
        return self._cache.decr(key, delta)
        try:
            val = self._cache.decr(key, delta)

        # python-memcache responds to decr on non-existent keys by
        # raising a ValueError. Cmemcache returns None. In both
        # cases, we should raise a ValueError though.
        except ValueError:
            val = None
        if val is None:
            raise ValueError("Key '%s' not found" % key)
        return val