mirror of
				https://github.com/kovidgoyal/calibre.git
				synced 2025-11-03 19:17:02 -05: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