From 05dd682eb1c60a06c7badba1a915e08885b5c8d1 Mon Sep 17 00:00:00 2001 From: Cameron Dawson Date: Tue, 17 Feb 2015 15:22:55 -0800 Subject: [PATCH] Bug 1133910 - Fix logslice by using pickle-able BytesIO for caching Also updated the use of ``caches`` instead of ``get_cache`` which was deprecated in Django 1.7 --- treeherder/webapp/api/logslice.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/treeherder/webapp/api/logslice.py b/treeherder/webapp/api/logslice.py index 746512d2002..008d39801de 100644 --- a/treeherder/webapp/api/logslice.py +++ b/treeherder/webapp/api/logslice.py @@ -4,7 +4,8 @@ from rest_framework import viewsets from rest_framework.response import Response -from django.core import cache +from django.core.cache import caches +from django.utils.six import BytesIO from treeherder.webapp.api.utils import (with_jobs) from treeherder.webapp.api.exceptions import ResourceNotFoundException @@ -12,10 +13,8 @@ import urllib2 import gzip -import io -import logging -filesystem = cache.get_cache('filesystem') +filesystem = caches['filesystem'] class LogSliceView(viewsets.ViewSet): @@ -61,7 +60,7 @@ def list(self, request, project, jm): if not gz_file: handle = self.get_log_handle(url) - gz_file = gzip.GzipFile(fileobj=io.BytesIO(handle.read())) + gz_file = gzip.GzipFile(fileobj=BytesIO(handle.read())) filesystem.set(url, gz_file.fileobj) else: gz_file = gzip.GzipFile(fileobj=gz_file)