Updated operations.py

Operation functions now take the transaction object as an input.
Annotation is provided using the TYPE_CHECKING constant.

Added more logging statements.
This commit is contained in:
Ethan Smith-Coss 2023-08-12 16:35:33 +01:00
parent f312a85353
commit 8dc0e10969
Signed by: TheOnePath
GPG Key ID: 4E7D436CE1A0BAF1

View File

@ -1,15 +1,22 @@
import sys
import clog
import typing
import soypak.deps.bottler as bottler
if typing.TYPE_CHECKING:
import soypak.deps.transaction as transaction
_log = clog.Logger.get("runtime_logger")
def install_packages(pkgs: list[bottler.PackageItem]):
def install_packages(tx: transaction.Transaction, pkgs: list[bottler.PackageItem]):
_log.debug(f"The transaction goal is {tx.pkg_goal=}. Attempting to perform installation.")
if not isinstance(pkgs, bottler.PackageItem):
_log.error(f"TypeError: {pkgs=}, expected list[PackageItem].")
_log.printLog("There was an issue when operating on the transaction.", level=4)
sys.exit(1)
# :@TODO: install the damned things!
_log.debug("Installation of packages is complete. Ensure to resolve problems within the transaction.")