def zrange(self, key, start, end, withscores=False, reverse=False):
        cmd = 'ZREVRANGE' if reverse else 'ZRANGE'
        args = [cmd, key, start, end]
        if withscores:
            args.append('WITHSCORES')
        self._send(*args)
        dfr = self.getResponse()

        def post_process(vals_and_scores):
            # return list of (val, score) tuples
            res = []
            bins = len(vals_and_scores) - 1
            i = 0
            while i < bins:
                res.append((vals_and_scores[i], float(vals_and_scores[i + 1])))
                i += 2
            return res

        if withscores:
            dfr.addCallback(post_process)
        return dfr
Called when the object is about to be deleted.
dataset/ETHPy150Open deldotdr/txRedis/txredis/client.py/RedisClient.zrange--crossover with--dataset/ETHPy150Open google/grr/grr/lib/aff4.py/AFF4Object.OnDelete