diff --git a/requests_html.py b/requests_html.py index 7c60cbf..4de22c1 100644 --- a/requests_html.py +++ b/requests_html.py @@ -12,7 +12,7 @@ from lxml import etree from lxml.html import HtmlElement from lxml.html.soupparser import fromstring from parse import search as parse_search -from parse import findall +from parse import findall, Result from w3lib.encoding import html_to_unicode @@ -110,11 +110,11 @@ class BaseParser: else: return c - def search(self, template: str): + def search(self, template: str) -> Result: """Searches the :class:`Element ` for the given parse template.""" return parse_search(template, self.html) - def search_all(self, template: str): + def search_all(self, template: str) -> Result: """Searches the :class:`Element ` (multiple times) for the given parse template. """ @@ -178,11 +178,11 @@ class BaseParser: class Element(BaseParser): """An element of HTML.""" - def __init__(self, *, element, url, default_encoding): + def __init__(self, *, element, url, default_encoding) -> None: super(Element, self).__init__(element=element, url=url, default_encoding=default_encoding) self.element = element - def __repr__(self): + def __repr__(self) -> str: attrs = [] for attr in self.attrs: attrs.append('{}={}'.format(attr, repr(self.attrs[attr]))) @@ -204,7 +204,7 @@ class Element(BaseParser): class HTML(BaseParser): """An HTML document, ready for parsing.""" - def __init__(self, *, url, html, default_encoding=DEFAULT_ENCODING): + def __init__(self, *, url, html, default_encoding=DEFAULT_ENCODING) -> None: super(HTML, self).__init__( element=PyQuery(html)('html'), html=html, @@ -215,7 +215,7 @@ class HTML(BaseParser): def __repr__(self) -> str: return "".format(repr(self.url)) - def render(self, retries: int = 8): + def render(self, retries: int = 8) -> None: """Loads the response in Chromium, and replaces HTML content with an updated version, JavaScript executed. """ @@ -245,8 +245,6 @@ class HTML(BaseParser): html = HTML(url=self.url, html=content, default_encoding=DEFAULT_ENCODING) self.__dict__.update(html.__dict__) - return self - class HTMLResponse(requests.Response): """An HTML-enabled :class:`Response ` object. @@ -254,7 +252,7 @@ class HTMLResponse(requests.Response): intelligent ``.html`` property added. """ - def __init__(self, *args, **kwargs): + def __init__(self, *args, **kwargs) -> None: super(HTMLResponse, self).__init__(*args, **kwargs) self._html = None