From 97a91aab6019d6efb500de1240bc58b4165ab02d Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Sat, 6 Nov 2021 09:48:42 +0100 Subject: Added mimic function for file operations --- archinstall/lib/installer.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'archinstall/lib/installer.py') diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index aa26abf3..9cff1f7a 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -1,4 +1,5 @@ import time +from typing import Union from .disk import * from .hardware import * from .locale_helpers import verify_keyboard_layout, verify_x11_keyboard_layout @@ -15,16 +16,29 @@ __packages__ = ["base", "base-devel", "linux-firmware", "linux", "linux-lts", "l class InstallationFile: - def __init__(self, installation, filename, owner): + def __init__(self, installation, filename, owner, mode="w"): self.installation = installation self.filename = filename self.owner = owner + self.mode = mode + self.fh = None def __enter__(self): + self.fh = open(self.filename, self.mode) return self - def __exit__(self): + def __exit__(self, *args): + self.fh.close() self.installation.chown(self.owner, self.filename) + + def write(self, data :Union[str, bytes]): + return self.fh.write(data) + + def read(self, *args): + return self.fh.read(*args) + + def poll(self, *args): + return self.fh.poll(*args) class Installer: """ -- cgit v1.2.3-70-g09d2