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')())