# This file is part of CairoSVG # Copyright © 2010-2018 Kozea # # This library is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the Free # Software Foundation, either version 3 of the License, or (at your option) any # later version. # # This library is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # details. # # You should have received a copy of the GNU Lesser General Public License # along with CairoSVG. If not, see . """ Handle CSS stylesheets. """ import cssselect2 import tinycss2 from .url import parse_url def find_stylesheets(tree): """Find the stylesheets included in ``tree``.""" # TODO: support contentStyleType on default_type = 'text/css' for element in tree.xml_tree.iter(): # http://www.w3.org/TR/SVG/styling.html#StyleElement if (element.tag == '{http://www.w3.org/2000/svg}style' and element.get('type', default_type) == 'text/css' and element.text): # TODO: pass href for relative URLs # TODO: support media types # TODO: what if