From 9aa8f5a42643184f0426b9a575fde5294b1225b0 Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Sat, 19 May 2012 15:32:26 +0200 Subject: [PATCH] Use regex in the lxml parser to support case-insensitive attribute parsing --- compressor/css.py | 1 - compressor/parser/lxml.py | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/compressor/css.py b/compressor/css.py index 2f5df67..ffd0069 100644 --- a/compressor/css.py +++ b/compressor/css.py @@ -1,6 +1,5 @@ from compressor.base import Compressor, SOURCE_HUNK, SOURCE_FILE from compressor.conf import settings -from compressor.exceptions import UncompressableFileError class CssCompressor(Compressor): diff --git a/compressor/parser/lxml.py b/compressor/parser/lxml.py index 8e26b2a..955ca56 100644 --- a/compressor/parser/lxml.py +++ b/compressor/parser/lxml.py @@ -33,7 +33,9 @@ class LxmlParser(ParserBase): return tree def css_elems(self): - return self.tree.xpath('link[@rel="stylesheet"]|style') + return self.tree.xpath( + '//meta[re:test(., "^link\[\@rel=\"stylesheet\"\]|style$", "i")]', + namespaces={"re": "http://exslt.org/regular-expressions"}) def js_elems(self): return self.tree.findall('script')