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
|
href = stylesheet.href
|
||||||
self.stylesheets.add(href)
|
self.stylesheets.add(href)
|
||||||
for rule in stylesheet.cssRules:
|
for rule in stylesheet.cssRules:
|
||||||
rules.extend(self.flatten_rule(rule, href, index))
|
if rule.type == rule.MEDIA_RULE:
|
||||||
index = index + 1
|
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()
|
rules.sort()
|
||||||
self.rules = rules
|
self.rules = rules
|
||||||
self._styles = {}
|
self._styles = {}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user