mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Conversion: Add support for CSS tylesheets that wrap their rules inside a @media rule. Fixes #1157345 (CSS stripped in Mobi-to-Mobi conversion)
This commit is contained in:
parent
f1d3e9bc5c
commit
78c81b183a
@ -305,8 +305,17 @@ class Stylizer(object):
|
||||
href = stylesheet.href
|
||||
self.stylesheets.add(href)
|
||||
for rule in stylesheet.cssRules:
|
||||
rules.extend(self.flatten_rule(rule, href, index))
|
||||
index = index + 1
|
||||
if rule.type == rule.MEDIA_RULE:
|
||||
media = {rule.media.item(i) for i in
|
||||
xrange(rule.media.length)}
|
||||
if not media.intersection({'all', 'screen', 'amzn-kf8'}):
|
||||
continue
|
||||
for subrule in rule.cssRules:
|
||||
rules.extend(self.flatten_rule(subrule, href, index))
|
||||
index += 1
|
||||
else:
|
||||
rules.extend(self.flatten_rule(rule, href, index))
|
||||
index = index + 1
|
||||
rules.sort()
|
||||
self.rules = rules
|
||||
self._styles = {}
|
||||
|
Loading…
x
Reference in New Issue
Block a user