diff --git a/pywb/apps/rewriterapp.py b/pywb/apps/rewriterapp.py index a0292732..fe40b4ee 100644 --- a/pywb/apps/rewriterapp.py +++ b/pywb/apps/rewriterapp.py @@ -248,8 +248,8 @@ class RewriterApp(object): range_start = start range_end = end - # if start with 0, load from upstream, but add range after - if start == 0: + # if start with 0 and no end, load from upstream + if start == 0 and not end: del inputreq.env['HTTP_RANGE'] else: skip_record = True diff --git a/pywb/recorder/redisindexer.py b/pywb/recorder/redisindexer.py index 943d3462..d0d5d649 100644 --- a/pywb/recorder/redisindexer.py +++ b/pywb/recorder/redisindexer.py @@ -108,7 +108,7 @@ class WritableRedisIndexer(RedisIndexSource): class RedisPendingCounterTempBuffer(tempfile.SpooledTemporaryFile): def __init__(self, max_size, redis_url, params, name, timeout=30): redis_url = res_template(redis_url, params) - super(RedisPendingCounterTempBuffer, self).__init__(max_size=max_size) + super(RedisPendingCounterTempBuffer, self).__init__(max_size=max_size, dir="./") self.redis, self.key = RedisIndexSource.parse_redis_url(redis_url) self.map_key = self.key + ':h' self.timeout = timeout @@ -119,8 +119,6 @@ class RedisPendingCounterTempBuffer(tempfile.SpooledTemporaryFile): self.url = params.get('url') self.redis.hincrby(self.map_key, self.url, 1) - print(params) - def write(self, buf): super(RedisPendingCounterTempBuffer, self).write(buf) self.redis.expire(self.key, self.timeout) @@ -133,5 +131,6 @@ class RedisPendingCounterTempBuffer(tempfile.SpooledTemporaryFile): self.redis.incrby(self.key, -1) self.redis.expire(self.key, self.timeout) - self.redis.hincrby(self.map_key, self.url, -1) + if not self.redis.hincrby(self.map_key, self.url, -1): + self.redis.hdel(self.map_key, self.url)