diff --git a/cssselect2/__init__.py b/cssselect2/__init__.py index f1b11be..2257a8c 100644 --- a/cssselect2/__init__.py +++ b/cssselect2/__init__.py @@ -20,7 +20,7 @@ VERSION = __version__ = '0.6.0' -class Matcher(object): +class Matcher: """A CSS selectors storage that can match against HTML elements.""" def __init__(self): self.id_selectors = {} diff --git a/cssselect2/compiler.py b/cssselect2/compiler.py index b5564bb..9e8a159 100644 --- a/cssselect2/compiler.py +++ b/cssselect2/compiler.py @@ -34,7 +34,7 @@ def compile_selector_list(input, namespaces=None): ] -class CompiledSelector(object): +class CompiledSelector: """Abstract representation of a selector.""" def __init__(self, parsed_selector): source = _compile_node(parsed_selector.parsed_tree) diff --git a/cssselect2/parser.py b/cssselect2/parser.py index 9723821..323ff75 100644 --- a/cssselect2/parser.py +++ b/cssselect2/parser.py @@ -263,7 +263,7 @@ class SelectorError(ValueError): """A specialized ``ValueError`` for invalid selectors.""" -class TokenStream(object): +class TokenStream: def __init__(self, tokens): self.tokens = iter(tokens) self.peeked = [] # In reversed order @@ -299,7 +299,7 @@ def skip_whitespace_and_comment(self): return self.skip(['comment', 'whitespace']) -class Selector(object): +class Selector: def __init__(self, tree, pseudo_element=None): self.parsed_tree = tree if pseudo_element is None: @@ -318,7 +318,7 @@ def __repr__(self): return '%r::%s' % (self.parsed_tree, self.pseudo_element) -class CombinedSelector(object): +class CombinedSelector: def __init__(self, left, combinator, right): #: Combined or compound selector self.left = left @@ -337,7 +337,7 @@ def __repr__(self): return '%r%s%r' % (self.left, self.combinator, self.right) -class CompoundSelector(object): +class CompoundSelector: """Aka. sequence of simple selectors, in Level 3.""" def __init__(self, simple_selectors): self.simple_selectors = simple_selectors @@ -356,7 +356,7 @@ def __repr__(self): return ''.join(map(repr, self.simple_selectors)) -class LocalNameSelector(object): +class LocalNameSelector: specificity = 0, 0, 1 def __init__(self, local_name): @@ -366,7 +366,7 @@ def __repr__(self): return self.local_name -class NamespaceSelector(object): +class NamespaceSelector: specificity = 0, 0, 0 def __init__(self, namespace): @@ -381,7 +381,7 @@ def __repr__(self): return '{%s}|' % self.namespace -class IDSelector(object): +class IDSelector: specificity = 1, 0, 0 def __init__(self, ident): @@ -391,7 +391,7 @@ def __repr__(self): return '#' + self.ident -class ClassSelector(object): +class ClassSelector: specificity = 0, 1, 0 def __init__(self, class_name): @@ -401,7 +401,7 @@ def __repr__(self): return '.' + self.class_name -class AttributeSelector(object): +class AttributeSelector: specificity = 0, 1, 0 def __init__(self, namespace, name, operator, value): @@ -418,7 +418,7 @@ def __repr__(self): return '[%s%s%s%r]' % (namespace, self.name, self.operator, self.value) -class PseudoClassSelector(object): +class PseudoClassSelector: specificity = 0, 1, 0 def __init__(self, name): @@ -428,7 +428,7 @@ def __repr__(self): return ':' + self.name -class FunctionalPseudoClassSelector(object): +class FunctionalPseudoClassSelector: specificity = 0, 1, 0 def __init__(self, name, arguments): diff --git a/cssselect2/tree.py b/cssselect2/tree.py index 5786bbf..9c52c50 100644 --- a/cssselect2/tree.py +++ b/cssselect2/tree.py @@ -5,7 +5,7 @@ from .compiler import compile_selector_list, split_whitespace -class cached_property(object): +class cached_property: # Borrowed from Werkzeug # https://github.com/mitsuhiko/werkzeug/blob/master/werkzeug/utils.py @@ -25,7 +25,7 @@ def __get__(self, obj, type=None, __missing=object()): return value -class ElementWrapper(object): +class ElementWrapper: """ A wrapper for an ElementTree :class:`xml.etree.ElementTree.Element` for Selector matching.