130 lines
5.1 KiB
Python
130 lines
5.1 KiB
Python
|
|
"""StyleSheet implements DOM Level 2 Style Sheets StyleSheet."""
|
||
|
|
__all__ = ['StyleSheet']
|
||
|
|
|
||
|
|
import cssutils
|
||
|
|
|
||
|
|
|
||
|
|
class StyleSheet(cssutils.util.Base2):
|
||
|
|
"""
|
||
|
|
The StyleSheet interface is the abstract base interface
|
||
|
|
for any type of style sheet. It represents a single style
|
||
|
|
sheet associated with a structured document.
|
||
|
|
|
||
|
|
In HTML, the StyleSheet interface represents either an
|
||
|
|
external style sheet, included via the HTML LINK element,
|
||
|
|
or an inline STYLE element (also an @import stylesheet?).
|
||
|
|
|
||
|
|
In XML, this interface represents
|
||
|
|
an external style sheet, included via a style sheet
|
||
|
|
processing instruction.
|
||
|
|
"""
|
||
|
|
|
||
|
|
def __init__(
|
||
|
|
self,
|
||
|
|
type='text/css',
|
||
|
|
href=None,
|
||
|
|
media=None,
|
||
|
|
title='',
|
||
|
|
ownerNode=None,
|
||
|
|
parentStyleSheet=None,
|
||
|
|
alternate=False,
|
||
|
|
disabled=None,
|
||
|
|
validating=True,
|
||
|
|
):
|
||
|
|
"""
|
||
|
|
type
|
||
|
|
readonly
|
||
|
|
href: readonly
|
||
|
|
If the style sheet is a linked style sheet, the value
|
||
|
|
of this attribute is its location. For inline style
|
||
|
|
sheets, the value of this attribute is None. See the
|
||
|
|
href attribute definition for the LINK element in HTML
|
||
|
|
4.0, and the href pseudo-attribute for the XML style
|
||
|
|
sheet processing instruction.
|
||
|
|
media: of type MediaList, readonly
|
||
|
|
The intended destination media for style information.
|
||
|
|
The media is often specified in the ownerNode. If no
|
||
|
|
media has been specified, the MediaList will be empty.
|
||
|
|
See the media attribute definition for the LINK element
|
||
|
|
in HTML 4.0, and the media pseudo-attribute for the XML
|
||
|
|
style sheet processing instruction. Modifying the media
|
||
|
|
list may cause a change to the attribute disabled.
|
||
|
|
title: readonly
|
||
|
|
The advisory title. The title is often specified in
|
||
|
|
the ownerNode. See the title attribute definition for
|
||
|
|
the LINK element in HTML 4.0, and the title
|
||
|
|
pseudo-attribute for the XML style sheet processing
|
||
|
|
instruction.
|
||
|
|
disabled: False if the style sheet is applied to the
|
||
|
|
document. True if it is not. Modifying this attribute
|
||
|
|
may cause a new resolution of style for the document.
|
||
|
|
A stylesheet only applies if both an appropriate medium
|
||
|
|
definition is present and the disabled attribute is False.
|
||
|
|
So, if the media doesn't apply to the current user agent,
|
||
|
|
the disabled attribute is ignored.
|
||
|
|
ownerNode: of type Node, readonly
|
||
|
|
The node that associates this style sheet with the
|
||
|
|
document. For HTML, this may be the corresponding LINK
|
||
|
|
or STYLE element. For XML, it may be the linking
|
||
|
|
processing instruction. For style sheets that are
|
||
|
|
included by other style sheets, the value of this
|
||
|
|
attribute is None.
|
||
|
|
parentStyleSheet: of type StyleSheet, readonly
|
||
|
|
a StyleSheet or None
|
||
|
|
alternate = False
|
||
|
|
a flag stating if a style sheet is an alternate one or not.
|
||
|
|
Currently not used in cssutils
|
||
|
|
validating = True
|
||
|
|
a flag defining if this sheet should be validate on change.
|
||
|
|
|
||
|
|
"""
|
||
|
|
super().__init__()
|
||
|
|
|
||
|
|
self.validating = validating
|
||
|
|
|
||
|
|
self._alternate = alternate
|
||
|
|
self._href = href
|
||
|
|
self._ownerNode = ownerNode
|
||
|
|
self._parentStyleSheet = parentStyleSheet
|
||
|
|
self._type = type
|
||
|
|
|
||
|
|
self.disabled = bool(disabled)
|
||
|
|
self.media = media
|
||
|
|
self.title = title
|
||
|
|
|
||
|
|
alternate = property(lambda self: self._alternate, doc="Not used in cssutils yet.")
|
||
|
|
|
||
|
|
href = property(
|
||
|
|
lambda self: self._href,
|
||
|
|
doc="If the style sheet is a linked style sheet, the value "
|
||
|
|
"of this attribute is its location. For inline style "
|
||
|
|
"sheets, the value of this attribute is None. See the "
|
||
|
|
"href attribute definition for the LINK element in HTML "
|
||
|
|
"4.0, and the href pseudo-attribute for the XML style "
|
||
|
|
"sheet processing instruction.",
|
||
|
|
)
|
||
|
|
|
||
|
|
ownerNode = property(lambda self: self._ownerNode, doc="Not used in cssutils yet.")
|
||
|
|
|
||
|
|
parentStyleSheet = property(
|
||
|
|
lambda self: self._parentStyleSheet,
|
||
|
|
doc="For style sheet languages that support the concept "
|
||
|
|
"of style sheet inclusion, this attribute represents "
|
||
|
|
"the including style sheet, if one exists. If the style "
|
||
|
|
"sheet is a top-level style sheet, or the style sheet "
|
||
|
|
"language does not support inclusion, the value of this "
|
||
|
|
"attribute is None.",
|
||
|
|
)
|
||
|
|
|
||
|
|
type = property(
|
||
|
|
lambda self: self._type,
|
||
|
|
doc="This specifies the style sheet language for this "
|
||
|
|
"style sheet. The style sheet language is specified "
|
||
|
|
"as a content type (e.g. ``text/css``). The content "
|
||
|
|
"type is often specified in the ownerNode. Also see "
|
||
|
|
"the type attribute definition for the LINK element "
|
||
|
|
"in HTML 4.0, and the type pseudo-attribute for the "
|
||
|
|
"XML style sheet processing instruction. "
|
||
|
|
"For CSS this is always ``text/css``.",
|
||
|
|
)
|