grab.base

Module Contents

Classes

BaseRequest

BaseExtension

Abstract base class for generic types.

BaseClient

Abstract base class for generic types.

BaseTransport

Abstract base class for generic types.

class grab.base.BaseRequest[source]
init_keys: set[str][source]
__repr__() str[source]

Return repr(self).

classmethod create_from_mapping(mapping: collections.abc.Mapping[str, Any]) RequestT[source]
class grab.base.BaseExtension[source]

Bases: Generic[RequestT, ResponseT]

Abstract base class for generic types.

A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as:

class Mapping(Generic[KT, VT]):
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

This class can then be used as follows:

def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
ext_handlers: collections.abc.Mapping[str, collections.abc.Callable[Ellipsis, Any]][source]
registry: collections.abc.MutableMapping[str, tuple[type[BaseClient[RequestT, ResponseT]], BaseExtension[RequestT, ResponseT]]][source]
__slots__ = ('owners',)[source]
__set_name__(owner: type[BaseClient[RequestT, ResponseT]], attr: str) None[source]
abstract reset() None[source]
classmethod get_extensions(obj: BaseClient[RequestT, ResponseT]) collections.abc.Sequence[tuple[str, BaseExtension[RequestT, ResponseT]]][source]
class grab.base.BaseClient(transport: None | BaseTransport[RequestT, ResponseT] | type[BaseTransport[RequestT, ResponseT]] = None)[source]

Bases: Generic[RequestT, ResponseT]

Abstract base class for generic types.

A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as:

class Mapping(Generic[KT, VT]):
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

This class can then be used as follows:

def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
abstract property request_class: type[RequestT][source]
abstract property default_transport_class: type[BaseTransport[RequestT, ResponseT]][source]
__slots__ = ('transport', 'ext_handlers')[source]
transport: BaseTransport[RequestT, ResponseT][source]
ext_handlers: collections.abc.Mapping[str, list[collections.abc.Callable[Ellipsis, Any]]][source]
abstract process_request_result(req: RequestT) ResponseT[source]
request(req: None | RequestT = None, **request_kwargs: Any) ResponseT[source]
clone() T[source]
class grab.base.BaseTransport[source]

Bases: Generic[RequestT, ResponseT]

Abstract base class for generic types.

A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as:

class Mapping(Generic[KT, VT]):
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

This class can then be used as follows:

def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
__slots__ = ()[source]
abstract reset() None[source]
abstract prepare_response(req: RequestT, *, document_class: type[ResponseT]) ResponseT[source]
abstract wrap_transport_error() collections.abc.Generator[None, None, None][source]
abstract request(req: RequestT) None[source]
classmethod resolve_entity(entity: None | BaseTransport[RequestT, ResponseT] | type[BaseTransport[RequestT, ResponseT]], default: type[BaseTransport[RequestT, ResponseT]]) BaseTransport[RequestT, ResponseT][source]