From 09779f62b3070e0fa2e6c7c7f0f00883f74e3de9 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk <48863253+khronokernel@users.noreply.github.com> Date: Sat, 15 May 2021 17:54:31 -0600 Subject: [PATCH] Enhance RecoveryOS support --- Resources/Build.py | 6 ++++-- Resources/Utilities.py | 9 ++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Resources/Build.py b/Resources/Build.py index 7419143e2..7360be158 100644 --- a/Resources/Build.py +++ b/Resources/Build.py @@ -940,9 +940,11 @@ Please build OpenCore first!""" print("- Adding Internal Drive icon") shutil.copy(self.constants.icon_path_internal, mount_path) print("- Cleaning install location") - subprocess.run(f"dot_clean {mount_path}".split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE) + if Constants.Constants().recovery_status == False: + # RecoveryOS doesn't support dot_clean + subprocess.run(["dot_clean", mount_path], stdout=subprocess.PIPE).stdout.decode().strip().encode() print("- Unmounting EFI partition") - subprocess.run(f"diskutil umount {mount_path}".split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE) + subprocess.run(["diskutil", "umount", mount_path], stdout=subprocess.PIPE).stdout.decode().strip().encode() print("- OpenCore transfer complete") print("\nPress [Enter] to continue.\n") input() diff --git a/Resources/Utilities.py b/Resources/Utilities.py index 9d9933a05..9b3f7281e 100644 --- a/Resources/Utilities.py +++ b/Resources/Utilities.py @@ -4,6 +4,7 @@ from __future__ import print_function import os import math as m +from Resources import Constants def header(lines): lines = [i for i in lines if i is not None] @@ -16,7 +17,13 @@ def header(lines): def cls(): - os.system('cls' if os.name == 'nt' else 'clear') + # RecoveryOS doesn't support terminal clearing + if Constants.Constants().recovery_status == False: + os.system('cls' if os.name == 'nt' else 'clear') + else: + # Default terminal window is 24 lines tall + for i in range(24): + print("") # def menu(title, prompt, menu_options, add_quit=True, auto_number=False, in_between=[], top_level=False): # return_option = ["Q", "Quit", None] if top_level else ["B", "Back", None]