ocebuild.sources.resolver#

Custom specifier resolver classes and methods.

Module Contents#

Classes#

GitHubResolver

Resolves a GitHub URL based on the class parameters.

DortaniaResolver

Resolves a Dortania build URL based on the class parameters.

PathResolver

Resolves a filepath based on the class parameters.

Attributes#

ResolverType

A type alias for the Resolver classes.

class ocebuild.sources.resolver.GitHubResolver(repository: str, path: ocebuild.sources.github.Optional[str] = None, branch: ocebuild.sources.github.Optional[str] = None, tag: ocebuild.sources.github.Optional[str] = None, workflow: ocebuild.sources.github.Optional[str] = None, commit: ocebuild.sources.github.Optional[str] = None, *args, tarball: ocebuild.sources.github.Optional[bool] = False, **kwargs)[source]#

Bases: BaseResolver

Resolves a GitHub URL based on the class parameters.

static extract_asset(resolver: ocebuild.sources.github.Union[TGitHubResolver, TDortaniaResolver], name: str, url: str, build: ocebuild.sources.github.Optional[Literal[RELEASE, DEBUG]] = None) str[source]#

Extracts the closest matching asset from a GitHub release url.

resolve(build: ocebuild.sources.github.Optional[Literal[RELEASE, DEBUG]] = None) str[source]#

Returns a URL based on the class parameters.

class ocebuild.sources.resolver.DortaniaResolver(commit: ocebuild.sources.github.Optional[str] = None, *args, **kwargs)[source]#

Bases: BaseResolver

Resolves a Dortania build URL based on the class parameters.

static has_build(plugin: str)[source]#
resolve(build: ocebuild.sources.github.Optional[Literal[RELEASE, DEBUG]] = None) str[source]#

Returns a URL based on the class parameters.

class ocebuild.sources.resolver.PathResolver(path: ocebuild.third_party.cpython.pathlib.Path, *args, **kwargs)[source]#

Bases: BaseResolver, ocebuild.third_party.cpython.pathlib.Path

Resolves a filepath based on the class parameters.

glob(pattern: str) Generator[TPathResolver, any, None][source]#

Iterates from a directory or from a file’s parent directory.

resolve(strict: bool = False) ocebuild.third_party.cpython.pathlib.Path[source]#

Resolves a filepath based on the class parameters.

If the path exists, the checksum is calculated and stored.

Parameters:

strict – If True, raises an error if the path does not exist.

Returns:

The resolved filepath wrapped in a PathResolver instance.

ocebuild.sources.resolver.ResolverType[source]#

A type alias for the Resolver classes.