import logging from util import run_op class AptInterface: def __init__(self): pass def update(self): op = "apt-get update" logging.info(f"Updating apt: {op}") run_op(op) def upgrade(self): op = "apt-get -y upgrade" logging.info(f"Upgrading via apt: {op}") run_op(op) def install_packages(self, packages: list): packages_str = "".join(packages) op = f"apt-get install -y {packages_str}" logging.info(f"Installing packages: {op}") run_op(op) class PackageManager: def __init__(self): self.apt = AptInterface() def update(self): self.apt.update() def upgrade(self): self.update() self.apt.upgrade() def install_packages(self, packages: list): self.apt.install_packages(packages)