wfexs_backend.scheme_catalog#

Module Contents#

Classes#

API#

exception wfexs_backend.scheme_catalog.SchemeCatalogException#

Bases: wfexs_backend.common.AbstractWfExSException

exception wfexs_backend.scheme_catalog.SchemeCatalogImportException#

Bases: wfexs_backend.scheme_catalog.SchemeCatalogException

class wfexs_backend.scheme_catalog.SchemeCatalog(scheme_handlers: Mapping[str, DocumentedStatefulProtocolFetcher | DocumentedProtocolFetcher] = dict())#

Initialization

addRawSchemeHandlers(schemeHandlers: Mapping[str, DocumentedProtocolFetcher]) None#
bypassSchemeHandler(scheme: str, handler: DocumentedStatefulProtocolFetcher | DocumentedProtocolFetcher, progs: wfexs_backend.common.ProgsMapping = dict(), setup_block: Mapping[str, Any] | None = None) None#

This method adds and overwrites a scheme handler, instantiating it if it is a stateful one.

Parameters:
  • scheme

  • handler

bypassSchemeHandlers(schemeHandlers: Mapping[str, DocumentedStatefulProtocolFetcher | DocumentedProtocolFetcher]) None#
instantiateStatefulFetcher(statefulFetcher: Type[StatefulFetcher], progs: wfexs_backend.common.ProgsMapping = dict(), setup_block: Mapping[str, Any] | None = None) wfexs_backend.fetchers.StatefulFetcher#

Method to instantiate stateful fetchers

describeRegisteredSchemes() Sequence[Tuple[str, str, int]]#
findAndAddSchemeHandlersFromModuleName(the_module_name: str = 'wfexs_backend.fetchers', fetchers_setup_block: Mapping[str, Mapping[str, Any]] | None = None, progs: wfexs_backend.common.ProgsMapping = dict()) Sequence[AbstractSchemeRepoFetcher]#
findAndAddSchemeHandlersFromModule(the_module: types.ModuleType, fetchers_setup_block: Mapping[str, Mapping[str, Any]] | None = None, progs: wfexs_backend.common.ProgsMapping = dict()) Sequence[AbstractSchemeRepoFetcher]#
addStatefulSchemeHandlers(statefulSchemeHandler: Type[AbstractStatefulFetcher], fetchers_setup_block: Mapping[str, Mapping[str, Any]] | None = None, progs: wfexs_backend.common.ProgsMapping = dict()) Sequence[AbstractSchemeRepoFetcher]#

This method adds scheme handlers (aka “fetchers”) from a given stateful fetcher, also adding the needed programs

get(scheme: str) DocumentedProtocolFetcher | None#
getSchemeHandler(the_remote_file: wfexs_backend.common.URIType) wfexs_backend.fetchers.DocumentedProtocolFetcher#
fetch(the_remote_file: wfexs_backend.common.URIType, cached_filename: wfexs_backend.common.PathLikePath, sec_context: SecurityContextConfig | None = None) wfexs_backend.fetchers.ProtocolFetcherReturn#
streamfetch(the_remote_file: wfexs_backend.common.URIType, the_stream: IO[bytes], sec_context: SecurityContextConfig | None = None) wfexs_backend.fetchers.ProtocolFetcherReturn#
SCHEME_PAT: Final[Pattern[str]] = 'compile(...)'#
addSchemeHandlers(schemeHandlers: Mapping[str, DocumentedProtocolFetcher | DocumentedStatefulProtocolFetcher], fetchers_setup_block: Mapping[str, Mapping[str, Any]] | None = None, progs: wfexs_backend.common.ProgsMapping = dict()) Sequence[AbstractSchemeRepoFetcher]#

This method adds scheme handlers (aka “fetchers”) or instantiates stateful scheme handlers (aka “stateful fetchers”)