ahriman.core.status package
Submodules
ahriman.core.status.client module
- class Client
Bases:
object
base build status reporter client
- static load(repository_id: RepositoryId, configuration: Configuration, *, report: bool) Client
load client from settings
- Parameters:
repository_id (RepositoryId) – repository unique identifier
configuration (Configuration) – configuration instance
report (bool) – force enable or disable reporting
- Returns:
client according to current settings
- Return type:
- package_add(package: Package, status: BuildStatusEnum) None
add new package with status
- Parameters:
package (Package) – package properties
status (BuildStatusEnum) – current package build status
- package_changes_get(package_base: str) Changes
get package changes
- Parameters:
package_base (str) – package base to retrieve
- Returns:
package changes if available and empty object otherwise
- Return type:
- package_changes_set(package_base: str, changes: Changes) None
update package changes
- Parameters:
package_base (str) – package base to update
changes (Changes) – changes descriptor
- package_get(package_base: str | None) list[tuple[Package, BuildStatus]]
get package status
- Parameters:
package_base (str | None) – package base to get
- Returns:
list of current package description and status if it has been found
- Return type:
list[tuple[Package, BuildStatus]]
- package_logs(log_record_id: LogRecordId, record: LogRecord) None
post log record
- Parameters:
log_record_id (LogRecordId) – log record id
record (logging.LogRecord) – log record to post to api
- package_remove(package_base: str) None
remove packages from watcher
- Parameters:
package_base (str) – package base to remove
- package_update(package_base: str, status: BuildStatusEnum) None
update package build status. Unlike
package_add()
it does not update package properties- Parameters:
package_base (str) – package base to update
status (BuildStatusEnum) – current package build status
- set_building(package_base: str) None
set package status to building
- Parameters:
package_base (str) – package base to update
- set_failed(package_base: str) None
set package status to failed
- Parameters:
package_base (str) – package base to update
- set_pending(package_base: str) None
set package status to pending
- Parameters:
package_base (str) – package base to update
- set_success(package: Package) None
set package status to success
- Parameters:
package (Package) – current package properties
- set_unknown(package: Package) None
set package status to unknown
- Parameters:
package (Package) – current package properties
- status_get() InternalStatus
get internal service status
- Returns:
current internal (web) service status
- Return type:
- status_update(status: BuildStatusEnum) None
update ahriman status itself
- Parameters:
status (BuildStatusEnum) – current ahriman status
ahriman.core.status.watcher module
- class Watcher(repository_id: RepositoryId, database: SQLite)
Bases:
LazyLogging
package status watcher
- repository_id
repository unique identifier
- Type:
- status
daemon status
- Type:
default constructor
- Parameters:
repository_id (RepositoryId) – repository unique identifier
database (SQLite) – database instance
- load() None
load packages from local database
- logs_get(package_base: str, limit: int = -1, offset: int = 0) list[tuple[float, str]]
extract logs for the package base
- Parameters:
package_base (str) – package base
limit (int, optional) – limit records to the specified count, -1 means unlimited (Default value = -1)
offset (int, optional) – records offset (Default value = 0)
- Returns:
package logs
- Return type:
list[tuple[float, str]]
- logs_remove(package_base: str, version: str | None) None
remove package related logs
- Parameters:
package_base (str) – package base
version (str) – package versio
- logs_update(log_record_id: LogRecordId, created: float, record: str) None
make new log record into database
- Parameters:
log_record_id (LogRecordId) – log record id
created (float) – log created timestamp
record (str) – log record
- package_changes_get(package_base: str) Changes
retrieve package changes
- Parameters:
package_base (str) – package base
- Returns:
package changes if available
- Return type:
- package_get(package_base: str) tuple[Package, BuildStatus]
get current package base build status
- Parameters:
package_base (str) – package base
- Returns:
package and its status
- Return type:
tuple[Package, BuildStatus]
- Raises:
UnknownPackageError – if no package found
- package_remove(package_base: str) None
remove package base from known list if any
- Parameters:
package_base (str) – package base
- package_update(package_base: str, status: BuildStatusEnum, package: Package | None) None
update package status and description
- Parameters:
package_base (str) – package base to update
status (BuildStatusEnum) – new build status
package (Package | None) – optional package description. In case if not set current properties will be used
- patches_get(package_base: str, variable: str | None) list[PkgbuildPatch]
get patches for the package
- Parameters:
package_base (str) – package base
variable (str | None) – patch variable name if any
- Returns:
list of patches which are stored for the package
- Return type:
list[PkgbuildPatch]
- patches_remove(package_base: str, variable: str) None
remove package patch
- Parameters:
package_base (str) – package base
variable (str) – patch variable name
- patches_update(package_base: str, patch: PkgbuildPatch) None
update package patch
- Parameters:
package_base (str) – package base
patch (PkgbuildPatch) – package patch
- status_update(status: BuildStatusEnum) None
update service status
- Parameters:
status (BuildStatusEnum) – new service status
- property packages: list[tuple[Package, BuildStatus]]
get current known packages list
- Returns:
list of packages together with their statuses
- Return type:
list[tuple[Package, BuildStatus]]
ahriman.core.status.web_client module
- class WebClient(repository_id: RepositoryId, configuration: Configuration)
Bases:
Client
,SyncAhrimanClient
build status reporter web client
- repository_id
repository unique identifier
- Type:
default constructor
- Parameters:
repository_id (RepositoryId) – repository unique identifier
configuration (Configuration) – configuration instance
- package_add(package: Package, status: BuildStatusEnum) None
add new package with status
- Parameters:
package (Package) – package properties
status (BuildStatusEnum) – current package build status
- package_changes_get(package_base: str) Changes
get package changes
- Parameters:
package_base (str) – package base to retrieve
- Returns:
package changes if available and empty object otherwise
- Return type:
- package_changes_set(package_base: str, changes: Changes) None
update package changes
- Parameters:
package_base (str) – package base to update
changes (Changes) – changes descriptor
- package_get(package_base: str | None) list[tuple[Package, BuildStatus]]
get package status
- Parameters:
package_base (str | None) – package base to get
- Returns:
list of current package description and status if it has been found
- Return type:
list[tuple[Package, BuildStatus]]
- package_logs(log_record_id: LogRecordId, record: LogRecord) None
post log record
- Parameters:
log_record_id (LogRecordId) – log record id
record (logging.LogRecord) – log record to post to api
- package_remove(package_base: str) None
remove packages from watcher
- Parameters:
package_base (str) – basename to remove
- package_update(package_base: str, status: BuildStatusEnum) None
update package build status. Unlike
package_add()
it does not update package properties- Parameters:
package_base (str) – package base to update
status (BuildStatusEnum) – current package build status
- static parse_address(configuration: Configuration) tuple[str, str]
parse address from legacy configuration
- Parameters:
configuration (Configuration) – configuration instance
- Returns:
tuple of section name and server address
- Return type:
tuple[str, str]
- status_get() InternalStatus
get internal service status
- Returns:
current internal (web) service status
- Return type:
- status_update(status: BuildStatusEnum) None
update ahriman status itself
- Parameters:
status (BuildStatusEnum) – current ahriman status