mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-20 10:44:32 +10:00
Add import error handling and clean CLI menu
This commit is contained in:
@@ -14,37 +14,43 @@ class MenuOptions:
|
||||
def change_verbose(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Set Verbose mode"])
|
||||
change_menu = input("Enable Verbose mode(y/n): ")
|
||||
change_menu = input("Enable Verbose mode(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.verbose_debug = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.verbose_debug = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.change_verbose()
|
||||
|
||||
def change_oc(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Set OpenCore DEBUG mode"])
|
||||
change_menu = input("Enable OpenCore DEBUG mode(y/n): ")
|
||||
change_menu = input("Enable OpenCore DEBUG mode(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.opencore_debug = True
|
||||
self.constants.opencore_build = "DEBUG"
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.opencore_debug = False
|
||||
self.constants.opencore_build = "RELEASE"
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.change_oc()
|
||||
|
||||
def change_kext(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Set Kext DEBUG mode"])
|
||||
change_menu = input("Enable Kext DEBUG mode(y/n): ")
|
||||
change_menu = input("Enable Kext DEBUG mode(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.kext_debug = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.kext_debug = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.change_kext()
|
||||
|
||||
def change_metal(self):
|
||||
Utilities.cls()
|
||||
@@ -58,6 +64,7 @@ Valid Options:
|
||||
1. None(stock GPU)
|
||||
2. Nvidia GPU
|
||||
3. AMD GPU
|
||||
Q. Return to previous menu
|
||||
|
||||
Note: Patcher will detect whether hardware has been upgraded regardless, this
|
||||
option is for those patching on a different machine or OCLP cannot detect.
|
||||
@@ -73,12 +80,14 @@ option is for those patching on a different machine or OCLP cannot detect.
|
||||
elif change_menu == "3":
|
||||
self.constants.metal_build = True
|
||||
self.constants.imac_vendor = "AMD"
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.change_metal()
|
||||
|
||||
def change_serial(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Set SMBIOS Mode"])
|
||||
Utilities.header(["Set SMBIOS Spoof Level"])
|
||||
print(
|
||||
"""This section is for setting how OpenCore generates the SMBIOS
|
||||
Recommended for adanced users who want control how serials are handled
|
||||
@@ -88,19 +97,22 @@ Valid options:
|
||||
1. Minimal:\tUse original serials and minimally update SMBIOS
|
||||
2. Moderate:\tReplace entire SMBIOS but keep original serials
|
||||
3. Advanced:\tReplace entire SMBIOS and generate new serials
|
||||
Q. Return to previous menu
|
||||
|
||||
Note: For new users we recommend leaving as default(1. Minimal)
|
||||
"""
|
||||
)
|
||||
change_menu = input("Set SMBIOS Mode(ie. 1): ")
|
||||
change_menu = input("Set SMBIOS Spoof Level(ie. 1): ")
|
||||
if change_menu == "1":
|
||||
self.constants.serial_settings = "Minimal"
|
||||
elif change_menu == "2":
|
||||
self.constants.serial_settings = "Moderate"
|
||||
elif change_menu == "3":
|
||||
self.constants.serial_settings = "Advanced"
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.change_serial()
|
||||
|
||||
def change_showpicker(self):
|
||||
Utilities.cls()
|
||||
@@ -111,13 +123,15 @@ however this can be disabled by default and be shown on command by repeatedly
|
||||
pressing the "Esc" key
|
||||
"""
|
||||
)
|
||||
change_menu = input("Show OpenCore Picker by default(y/n): ")
|
||||
change_menu = input("Show OpenCore Picker by default(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.showpicker = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.showpicker = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.change_showpicker()
|
||||
|
||||
def change_vault(self):
|
||||
Utilities.cls()
|
||||
@@ -131,63 +145,86 @@ Note: For security reasons, OpenShell will be disabled when Vault is set.
|
||||
|
||||
"""
|
||||
)
|
||||
change_menu = input("Enable Vault(y/n): ")
|
||||
change_menu = input("Enable Vault(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.vault = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.vault = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.change_vault()
|
||||
|
||||
def change_sip(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Set SIP and SecureBootModel"])
|
||||
Utilities.header(["Set System Integrity protection"])
|
||||
print(
|
||||
"""SIP and SecureBootModel are used to ensure proper OTA functionality,
|
||||
however to patch the root volume both of these must be disabled.
|
||||
"""SIP is used to ensure proper secuirty measures are set,
|
||||
however to patch the root volume this must be disabled.
|
||||
Only disable is absolutely necessary. SIP value = 0xFEF
|
||||
|
||||
Valid options:
|
||||
|
||||
1. Enable Both
|
||||
2. Disable SIP only
|
||||
3. Disable SecureBootModel Only
|
||||
4. Disable Both
|
||||
1. Enable SIP
|
||||
2. Disable SIP
|
||||
Q. Return to previous menu
|
||||
|
||||
"""
|
||||
)
|
||||
change_menu = input("Set SIP and SecureBootModel(ie. 1): ")
|
||||
change_menu = input("Set SIP: ")
|
||||
if change_menu == "1":
|
||||
self.constants.sip_status = True
|
||||
self.constants.secure_status = True
|
||||
elif change_menu == "2":
|
||||
self.constants.sip_status = False
|
||||
self.constants.secure_status = True
|
||||
elif change_menu == "3":
|
||||
self.constants.sip_status = True
|
||||
self.constants.secure_status = False
|
||||
elif change_menu == "4":
|
||||
self.constants.sip_status = False
|
||||
self.constants.secure_status = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.change_sip()
|
||||
|
||||
def change_sbm(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Set SecureBootModel"])
|
||||
print(
|
||||
"""SecureBootModel is used to ensure best firmware security,
|
||||
however to patch the root volume this must be disabled.
|
||||
Only disable is absolutely necessary. SIP value = 0xFEF
|
||||
|
||||
Valid options:
|
||||
|
||||
1. Enable SecureBootModel
|
||||
2. Disable SecureBootModel
|
||||
Q. Return to previous menu
|
||||
|
||||
"""
|
||||
)
|
||||
change_menu = input("Set SecureBootModel: ")
|
||||
if change_menu == "1":
|
||||
self.constants.secure_status = True
|
||||
elif change_menu == "2":
|
||||
self.constants.secure_status = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
self.change_sbm()
|
||||
|
||||
def set_amfi(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Disable AMFI"])
|
||||
Utilities.header(["Set AMFI"])
|
||||
print(
|
||||
"""Required for Root Patching non-Metal GPUs
|
||||
in macOS Big Sur. Without this, will receive kernel panic once
|
||||
Patcher finishes installing legacy acceleration patches.
|
||||
"""
|
||||
)
|
||||
change_menu = input("Disable AMFI(y/n): ")
|
||||
change_menu = input("Disable AMFI(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.disable_amfi = True
|
||||
self.constants.amfi_status = False
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.disable_amfi = False
|
||||
self.constants.amfi_status = True
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.set_amfi()
|
||||
|
||||
def bootstrap_setting(self):
|
||||
Utilities.cls()
|
||||
@@ -200,7 +237,7 @@ Valid options:
|
||||
|
||||
1. System/Library/CoreServices/boot.efi (default)
|
||||
2. EFI/BOOT/BOOTx64.efi
|
||||
3. Exit
|
||||
Q. Return to previous menu
|
||||
|
||||
Note: S*/L*/C*/boot.efi method is only installed to the EFI partition only
|
||||
and not to macOS itself.
|
||||
@@ -215,8 +252,10 @@ see the EFI Boot entry in the boot picker.
|
||||
self.constants.boot_efi = False
|
||||
elif change_menu == "2":
|
||||
self.constants.boot_efi = True
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.bootstrap_setting()
|
||||
|
||||
def drm_setting(self):
|
||||
Utilities.cls()
|
||||
@@ -234,13 +273,15 @@ other programs relying on such features.
|
||||
Recommend only disabling if absolutely required.
|
||||
"""
|
||||
)
|
||||
change_menu = input("Enable Nvidia's Software DRM rendering(y/n): ")
|
||||
change_menu = input("Enable Nvidia's Software DRM rendering(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.drm_support = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.drm_support = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.drm_setting()
|
||||
|
||||
def allow_native_models(self):
|
||||
Utilities.cls()
|
||||
@@ -252,15 +293,17 @@ power usage.
|
||||
|
||||
"""
|
||||
)
|
||||
change_menu = input("Allow OpenCore on all Models(y/n): ")
|
||||
change_menu = input("Allow OpenCore on all Models(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.allow_oc_everywhere = True
|
||||
self.constants.serial_settings = "None"
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.allow_oc_everywhere = False
|
||||
self.constants.serial_settings = "Minimal"
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.allow_native_models()
|
||||
|
||||
def custom_cpu(self):
|
||||
Utilities.cls()
|
||||
@@ -272,6 +315,7 @@ Custom names will report as follows:
|
||||
1: Original Name: 2.5 Ghz Dual-Core Intel Core i5
|
||||
2. CPU name: Intel(R) Core(TM) i5-3210M CPU @ 2.50Ghz
|
||||
3. Custom Name: 2.5Ghz Cotton Candy (example)
|
||||
Q. Return to previous menu
|
||||
"""
|
||||
)
|
||||
if self.constants.custom_cpu_model_value == "":
|
||||
@@ -291,31 +335,10 @@ Custom names will report as follows:
|
||||
elif change_menu == "3":
|
||||
self.constants.custom_cpu_model = 1
|
||||
self.constants.custom_cpu_model_value = input("Enter new CPU Name: ")
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
|
||||
def custom_color_thing(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Set custom CPU Model Name"])
|
||||
print(
|
||||
"""Change reported CPU Model name in About This Mac
|
||||
Custom names will report as follows:
|
||||
|
||||
1: Custom Color
|
||||
2. Reset
|
||||
"""
|
||||
)
|
||||
change_menu = input("Set custom CPU Name(1,2,3): ")
|
||||
if change_menu == "1":
|
||||
print("")
|
||||
# temp_tk_root = tk.Tk()
|
||||
# temp_tk_root.wm_withdraw()
|
||||
# self.constants.custom_color = colorchooser.askcolor(title="Choose color")
|
||||
# temp_tk_root.destroy()
|
||||
elif change_menu == "2":
|
||||
self.constants.custom_color = ""
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.custom_cpu()
|
||||
|
||||
def disable_cpufriend(self):
|
||||
Utilities.cls()
|
||||
@@ -327,53 +350,19 @@ Mac's power profile for CPUs and GPUs, which can harm the
|
||||
hardware
|
||||
"""
|
||||
)
|
||||
change_menu = input("Disable CPU Friend?(y/n): ")
|
||||
change_menu = input("Disable CPU Friend?(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.disallow_cpufriend = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.disallow_cpufriend = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
|
||||
def set_seedutil(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Set SeedUtil Status"])
|
||||
print(
|
||||
"""Used for setting OS Update Preferences
|
||||
|
||||
Valid options:
|
||||
1. Public Release Seed (Default)
|
||||
2. Public Beta Seed
|
||||
3. Developer Beta Seed
|
||||
4. Check SeedUtil's current status
|
||||
"""
|
||||
)
|
||||
|
||||
change_menu = input("Set update status(Press [ENTER] to exit): ")
|
||||
if change_menu == "1":
|
||||
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "unenroll"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
|
||||
elif change_menu == "2":
|
||||
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "unenroll"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
|
||||
subprocess.run(
|
||||
["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "enroll", "PublicSeed"], stdout=subprocess.PIPE
|
||||
).stdout.decode().strip().encode()
|
||||
elif change_menu == "3":
|
||||
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "unenroll"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
|
||||
subprocess.run(
|
||||
["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "enroll", "DeveloperSeed"], stdout=subprocess.PIPE
|
||||
).stdout.decode().strip().encode()
|
||||
elif change_menu == "4":
|
||||
result = subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "current"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
result = [i.partition(":")[2] for i in result.stdout.decode().split("\n") if "Currently enrolled in" in i][0]
|
||||
print(f"SeedUtil Current Status: {result}")
|
||||
input("\nPress [ENTER] to continue")
|
||||
self.set_seedutil()
|
||||
else:
|
||||
print("Returning to main menu")
|
||||
self.disable_cpufriend()
|
||||
|
||||
def set_smbios(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Override SMBIOS Spoof"])
|
||||
Utilities.header(["Set SMBIOS Spoof Model"])
|
||||
print(
|
||||
"""Change model OpenCore spoofs Mac too
|
||||
|
||||
@@ -381,10 +370,11 @@ Valid options:
|
||||
1. Default set by OpenCore (Default)
|
||||
2. User Override
|
||||
3. Disable all spoofing (unsupported configuration)
|
||||
Q. Return to previous menu
|
||||
"""
|
||||
)
|
||||
|
||||
change_menu = input("Set SMBIOS status: ")
|
||||
change_menu = input("Set SMBIOS Spoof Model: ")
|
||||
if change_menu == "1":
|
||||
print("Setting SMBIOS spoof to default mode")
|
||||
self.constants.override_smbios = "Default"
|
||||
@@ -399,8 +389,10 @@ Valid options:
|
||||
elif change_menu == "3":
|
||||
print("Disabling SMBIOS spoof")
|
||||
self.constants.override_smbios = self.model
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Returning to main menu")
|
||||
self.set_smbios()
|
||||
|
||||
def allow_firewire(self):
|
||||
Utilities.cls()
|
||||
@@ -419,13 +411,15 @@ Note: MacBook5,x-7,1 don't support FireWire boot
|
||||
"""
|
||||
)
|
||||
|
||||
change_menu = input("Enable FireWire Boot support?(y/n): ")
|
||||
change_menu = input("Enable FireWire Boot support?(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.firewire_boot = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.firewire_boot = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.allow_firewire()
|
||||
|
||||
def allow_nvme(self):
|
||||
Utilities.cls()
|
||||
@@ -444,39 +438,15 @@ OpenCore will enable NVMe support in it's picker
|
||||
"""
|
||||
)
|
||||
|
||||
change_menu = input("Enable NVMe Boot support?(y/n): ")
|
||||
change_menu = input("Enable NVMe Boot support?(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.nvme_boot = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.nvme_boot = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
|
||||
def enable_terascale(self):
|
||||
Utilities.cls()
|
||||
Utilities.header(["Enable TeraScale 2 Acceleration"])
|
||||
print(
|
||||
"""
|
||||
Currently TeraScale 2 graphics acceleration is in beta with
|
||||
some unfortunate bugs on login including strobing colours
|
||||
until the user forces Million Colours on the Display with
|
||||
SwitchResX or resXtreme
|
||||
|
||||
Users sensitive to seizures should avoid using TeraScale 2
|
||||
patches or ask someone to handle inital setup to ensure
|
||||
no issues
|
||||
|
||||
Note: Acceleration only applies to macOS Big Sur
|
||||
"""
|
||||
)
|
||||
|
||||
change_menu = input("Enable TS2 Acceleration?(y/n): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.terascale_2_patch = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.terascale_2_patch = False
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.allow_nvme()
|
||||
|
||||
def allow_wowl(self):
|
||||
Utilities.cls()
|
||||
@@ -492,13 +462,15 @@ be prepared if enabling.
|
||||
"""
|
||||
)
|
||||
|
||||
change_menu = input("Allow Wake on WLAN?(y/n): ")
|
||||
change_menu = input("Allow Wake on WLAN?(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.enable_wake_on_wlan = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.enable_wake_on_wlan = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.allow_wowl()
|
||||
|
||||
def allow_ivy(self):
|
||||
Utilities.cls()
|
||||
@@ -518,13 +490,15 @@ Note 2: This setting only affects iMac13,x with dGPUs
|
||||
"""
|
||||
)
|
||||
|
||||
change_menu = input("Allow Ivy iMac iGPU?(y/n): ")
|
||||
change_menu = input("Allow Ivy iMac iGPU?(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.allow_ivy_igpu = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.allow_ivy_igpu = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.allow_ivy()
|
||||
|
||||
def latebloom_settings(self):
|
||||
Utilities.cls()
|
||||
@@ -539,6 +513,7 @@ Valid options:
|
||||
1. Set delay (currently: {self.constants.latebloom_delay}ms)
|
||||
2. Set range (currently: {self.constants.latebloom_range}ms)
|
||||
3. Set debug (currently: {bool(self.constants.latebloom_debug)})
|
||||
Q. Return to previous menu
|
||||
"""
|
||||
)
|
||||
|
||||
@@ -548,11 +523,13 @@ Valid options:
|
||||
self.constants.latebloom_delay = int(input("Set delay: "))
|
||||
except ValueError:
|
||||
input("Invalid value, press [ENTER] to continue")
|
||||
self.latebloom_settings()
|
||||
elif change_menu == "2":
|
||||
try:
|
||||
self.constants.latebloom_range = int(input("Set range: "))
|
||||
except ValueError:
|
||||
input("Invalid value, press [ENTER] to continue")
|
||||
self.latebloom_settings()
|
||||
elif change_menu == "3":
|
||||
try:
|
||||
print("Currently supports either 0(False) or 1(True)")
|
||||
@@ -563,8 +540,11 @@ Valid options:
|
||||
self.constants.latebloom_debug = latebloom_debug
|
||||
except ValueError:
|
||||
input("Invalid value, press [ENTER] to continue")
|
||||
self.latebloom_settings()
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.latebloom_settings()
|
||||
|
||||
|
||||
def allow_moj_cat_patch(self):
|
||||
@@ -585,13 +565,15 @@ Note: for the average user, we recommend using dosdude1's legacy patcher:
|
||||
"""
|
||||
)
|
||||
|
||||
change_menu = input("Allow Root Patching on Mojave/Catalina?(y/n): ")
|
||||
change_menu = input("Allow Root Patching on Mojave/Catalina?(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.moj_cat_accel = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.moj_cat_accel = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.allow_moj_cat_patch()
|
||||
|
||||
def disable_thunderbolt(self):
|
||||
Utilities.cls()
|
||||
@@ -609,10 +591,12 @@ other devices that benefit from this fix.
|
||||
"""
|
||||
)
|
||||
|
||||
change_menu = input("Disable Thunderbolt?(y/n): ")
|
||||
change_menu = input("Disable Thunderbolt?(y/n/q): ")
|
||||
if change_menu in {"y", "Y", "yes", "Yes"}:
|
||||
self.constants.disable_thunderbolt = True
|
||||
elif change_menu in {"n", "N", "no", "No"}:
|
||||
self.constants.disable_thunderbolt = False
|
||||
elif change_menu in {"q", "Q", "Quit", "quit"}:
|
||||
print("Returning to previous menu")
|
||||
else:
|
||||
print("Invalid option")
|
||||
self.disable_thunderbolt()
|
||||
|
||||
Reference in New Issue
Block a user