From 95da02af0b77a1bd932861ab2ec730078c0b0352 Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Wed, 16 Feb 2011 19:16:53 +0100 Subject: [PATCH] Introduced a default extra_context dictionary. --- compressor/base.py | 17 +++++++++++------ compressor/css.py | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/compressor/base.py b/compressor/base.py index b36aabf..7a8fec0 100644 --- a/compressor/base.py +++ b/compressor/base.py @@ -13,6 +13,7 @@ class Compressor(object): def __init__(self, content=None, output_prefix="compressed"): self.content = content or "" + self.extra_context = {} self.type = None self.output_prefix = output_prefix self.split_content = [] @@ -131,13 +132,17 @@ class Compressor(object): def output(self): if not settings.COMPRESS_ENABLED: return self.content - self.save_file() - context = getattr(self, 'extra_context', {}) - context['url'] = self.storage.url(self.new_filepath) + context = { + "saved": self.save_file(), + "url": self.storage.url(self.new_filepath), + } + context.update(self.extra_context) return render_to_string(self.template_name, context) def output_inline(self): - context = {'content': settings.COMPRESS_ENABLED and self.combined or self.concat()} - if hasattr(self, 'extra_context'): - context.update(self.extra_context) + if settings.COMPRESS_ENABLED: + content = self.combined + else: + content = self.concat() + context = dict(content=content, **self.extra_context) return render_to_string(self.template_name_inline, context) diff --git a/compressor/css.py b/compressor/css.py index 7ce7979..61f534a 100644 --- a/compressor/css.py +++ b/compressor/css.py @@ -49,6 +49,6 @@ class CssCompressor(Compressor): return self.content ret = [] for media, subnode in self.media_nodes: - subnode.extra_context = {'media': media} + subnode.extra_context.update({'media': media}) ret.append(subnode.output()) return ''.join(ret)