Source code for darc.sites.data

# -*- coding: utf-8 -*-
"""Data URI Schemes
======================

The :mod:`darc.sites.data` module is customised to
handle data URI schemes.

"""

import sys

import stem

import darc.typing as typing
from darc.error import LinkNoReturn, render_error
from darc.link import Link
from darc.proxy.data import save_data


[docs]def crawler(session: typing.Session, link: Link) -> typing.NoReturn: # pylint: disable=unused-argument """Crawler hook for data URIs. Args: session (:class:`requests.Session`): Session object with proxy settings. link: Link object to be crawled. Raises: LinkNoReturn: This link has no return response. """ try: save_data(link) except ValueError as error: print(render_error(f'[REQUESTS] Failed to save data URI from {link.url} <{error}>', stem.util.term.Color.RED), file=sys.stderr) # pylint: disable=no-member raise LinkNoReturn
[docs]def loader(driver: typing.Driver, link: Link) -> typing.NoReturn: # pylint: disable=unused-argument """Not implemented. Raises: LinkNoReturn: This hook is not implemented. """ raise LinkNoReturn