Esempio n. 1
0
        def xpath_pseudo_element(self, xpath, pseudo_element):

            try:

                from cssselect.parser import FunctionalPseudoElement
                from cssselect.xpath import _unicode_safe_getattr, XPathExpr

                if isinstance(pseudo_element, FunctionalPseudoElement):
                    method = 'xpath_%s_functional_pseudo_element' % (
                        pseudo_element.name.replace('-', '_'))
                    method = _unicode_safe_getattr(self, method, None)
                    if not method:
                        raise ExpressionError(
                            "The functional pseudo-element ::%s() is unknown"
                        % pseudo_element.name)
                    xpath = method(xpath, pseudo_element.arguments)
                else:
                    method = 'xpath_%s_simple_pseudo_element' % (
                        pseudo_element.replace('-', '_'))
                    method = _unicode_safe_getattr(self, method, None)
                    if not method:
                        raise ExpressionError(
                            "The pseudo-element ::%s is unknown"
                            % pseudo_element)
                    xpath = method(xpath)

            except ImportError:
                pass

            return xpath
Esempio n. 2
0
        def xpath_pseudo_element(self, xpath, pseudo_element):

            try:

                from cssselect.parser import FunctionalPseudoElement
                from cssselect.xpath import _unicode_safe_getattr, XPathExpr

                if isinstance(pseudo_element, FunctionalPseudoElement):
                    method = 'xpath_%s_functional_pseudo_element' % (
                        pseudo_element.name.replace('-', '_'))
                    method = _unicode_safe_getattr(self, method, None)
                    if not method:
                        raise ExpressionError(
                            "The functional pseudo-element ::%s() is unknown" %
                            pseudo_element.name)
                    xpath = method(xpath, pseudo_element.arguments)
                else:
                    method = 'xpath_%s_simple_pseudo_element' % (
                        pseudo_element.replace('-', '_'))
                    method = _unicode_safe_getattr(self, method, None)
                    if not method:
                        raise ExpressionError(
                            "The pseudo-element ::%s is unknown" %
                            pseudo_element)
                    xpath = method(xpath)

            except ImportError:
                pass

            return xpath
Esempio n. 3
0
 def xpath_pseudo_element(self, xpath, pseudo_element):
     if isinstance(pseudo_element, FunctionalPseudoElement):
         method = 'xpath_%s_functional_pseudo_element' % (pseudo_element.name.replace('-', '_'))
         method = _unicode_safe_getattr(self, method, None)
         if not method:
             raise ExpressionError("The functional pseudo-element ::%s() is unknown" % pseudo_element.name)
         xpath = method(xpath, pseudo_element)
     else:
         method = 'xpath_%s_simple_pseudo_element' % (pseudo_element.replace('-', '_'))
         method = _unicode_safe_getattr(self, method, None)
         if not method:
             raise ExpressionError("The pseudo-element ::%s is unknown" % pseudo_element)
         xpath = method(xpath)
     return xpath
Esempio n. 4
0
 def xpath_pseudo_element(self, xpath, pseudo_element):
     if isinstance(pseudo_element, FunctionalPseudoElement):
         method = 'xpath_%s_functional_pseudo_element' % (
             pseudo_element.name.replace('-', '_'))
         method = _unicode_safe_getattr(self, method, None)
         if not method:
             raise ExpressionError(
                 "The functional pseudo-element ::%s() is unknown"
                 % pseudo_element.name)
         xpath = method(xpath, pseudo_element)
     else:
         method = 'xpath_%s_simple_pseudo_element' % (
             pseudo_element.replace('-', '_'))
         method = _unicode_safe_getattr(self, method, None)
         if not method:
             raise ExpressionError(
                 "The pseudo-element ::%s is unknown"
                 % pseudo_element)
         xpath = method(xpath)
     return xpath