1605d2d3c2
Signed-off-by: magic_rb <richard@brezak.sk>
126 lines
2.3 KiB
Python
126 lines
2.3 KiB
Python
from abc import ABC, abstractmethod
|
|
from typing import Any
|
|
|
|
from buildbot.config.builder import BuilderConfig
|
|
from buildbot.reporters.base import ReporterBase
|
|
from buildbot.www.avatar import AvatarBase
|
|
from buildbot.www.auth import AuthBase
|
|
|
|
class GitBackend(ABC):
|
|
@abstractmethod
|
|
def create_reload_builder(
|
|
self,
|
|
worker_names: list[str]
|
|
) -> BuilderConfig:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def create_reporter(self) -> ReporterBase:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def create_change_hook(self, webhook_secret: str) -> dict[str, Any]:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def create_avatar_method(self) -> AvatarBase:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def create_auth(self) -> AuthBase:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def load_projects(self) -> list["GitProject"]:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def are_projects_cached(self) -> bool:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def pretty_type(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def type(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def reload_builder_name(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def change_hook_name(self) -> str:
|
|
pass
|
|
|
|
class GitProject(ABC):
|
|
@abstractmethod
|
|
def create_project_hook(
|
|
self,
|
|
owner: str,
|
|
repo: str,
|
|
webhook_url: str,
|
|
webhook_secret: str,
|
|
) -> None:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_project_url() -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def pretty_type(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def type(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def repo(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def owner(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def name(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def url(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def project_id(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def default_branch(self) -> str:
|
|
pass
|
|
|
|
|
|
@property
|
|
@abstractmethod
|
|
def topics(self) -> list[str]:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def belongs_to_org(self) -> bool:
|
|
pass
|