Esempio n. 1
0
    def _route(self, url: Url):
        """Route camera to url.

        Args:
            url: A Url to route camera to
        """
        self.webdriver.set_page_load_timeout(10)
        self.webdriver.get(url.to_string())
Esempio n. 2
0
    def get_page(url: Url) -> Page:
        """Get page.

        Fetch page at url

        Args:
            url: Url page is located at

        Returns:
            The requested page if response is 200 otherwise None
            Page
        """
        parser = LinkParser()
        page = Page()
        try:
            with urllib.request.urlopen(url.to_string()) as response:
                html = response.read()
        except HTTPError as error:
            page.status_code = error.getcode()
            return page

        page.status_code = response.getcode()
        headers = dict(response.headers)
        for header in headers:
            if header.lower() == 'content-type':
                page.content_type = headers[header]

        links = parser.parse(str(html))

        for link in links:
            try:
                page.add_url(Url.from_string(link))
            except InvalidUrlException as e:
                try:
                    page.add_url(url.create_child_url(link))
                except InvalidUrlException as e:
                    pass
        return page