corvix.pipeline.providers.github_web_url¶
Hydration provider for deriving browser URLs from GitHub notification subjects.
Attributes¶
Classes¶
Hydrates notification.web_url with direct and API-based mappings. |
|
Functions¶
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map a subject API URL to its browser URL when possible. |
Module Contents¶
- corvix.pipeline.providers.github_web_url._parse_github_api_path(subject_url: str) tuple[urllib.parse.ParseResult, list[str], int][source][source]¶
- corvix.pipeline.providers.github_web_url._is_str_object_map(value: object) TypeIs[dict[str, object]][source][source]¶
- class corvix.pipeline.providers.github_web_url.GitHubWebUrlProvider[source][source]¶
Hydrates notification.web_url with direct and API-based mappings.
- hydrate(notification: corvix.domain.Notification, client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext) corvix.domain.Notification[source][source]¶
- _resolve_check_suite(client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext, notification: corvix.domain.Notification, repo_base: str) str | None[source][source]¶
- _resolve_check_suite_from_title(client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext, notification: corvix.domain.Notification, repo_base: str) str | None[source][source]¶
- _resolve_check_suite_from_subject_url(client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext, subject_url: str, repository: str) str | None[source][source]¶
- _resolve_release(client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext, subject_url: str) str | None[source][source]¶
- corvix.pipeline.providers.github_web_url._parse_check_suite_title(title: str) _ParsedCheckSuiteTitle | None[source][source]¶
- corvix.pipeline.providers.github_web_url._build_actions_branch_url(repo_base: str, branch: str) str[source][source]¶
- corvix.pipeline.providers.github_web_url._build_actions_api_base(repo_base: str) str[source][source]¶
- corvix.pipeline.providers.github_web_url._match_workflow_run_url(payload: object, parsed_title: _ParsedCheckSuiteTitle, target_timestamp: datetime.datetime) str | None[source][source]¶
- corvix.pipeline.providers.github_web_url._run_matches_check_suite(run: dict[str, object], normalized_name: str, run_attempt: int | None) bool[source][source]¶
- corvix.pipeline.providers.github_web_url._run_distance_seconds(run: dict[str, object], target_timestamp: datetime.datetime) float[source][source]¶
- corvix.pipeline.providers.github_web_url._match_check_suite_run(workflow_runs: collections.abc.Sequence[object], workflow_name: str, run_attempt: int | None, target_timestamp: datetime.datetime) dict[str, object] | None[source][source]¶