From d8c81f4327fda45864f48971e1628b49633b6cd0 Mon Sep 17 00:00:00 2001 From: mlavin Date: Sun, 20 Nov 2011 21:41:15 -0500 Subject: [PATCH] Catch already removed files in storage.delete. See #159. --- compressor/storage.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/compressor/storage.py b/compressor/storage.py index 81949a1..00adada 100644 --- a/compressor/storage.py +++ b/compressor/storage.py @@ -1,3 +1,4 @@ +import errno import gzip from os import path from datetime import datetime @@ -41,6 +42,17 @@ class CompressorFileStorage(FileSystemStorage): self.delete(name) return name + def delete(self, name): + """ + Handle deletion race condition present in Django prior to 1.4 + https://code.djangoproject.com/ticket/16108 + """ + try: + super(CompressorFileStorage, self).delete(name) + except OSError, e: + if e.errno != errno.ENOENT: + raise + compressor_file_storage = SimpleLazyObject( lambda: get_storage_class('compressor.storage.CompressorFileStorage')())