mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-06-20 22:20:53 +10:00
os_data.py: Add docstring
This commit is contained in:
+69
-20
@@ -28,22 +28,51 @@ class os_data(enum.IntEnum):
|
|||||||
|
|
||||||
class os_conversion:
|
class os_conversion:
|
||||||
|
|
||||||
def os_to_kernel(os):
|
def os_to_kernel(os: str) -> int:
|
||||||
# Convert OS version to major XNU version
|
"""
|
||||||
|
Convert OS version to major XNU version
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
os (str): OS version
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
int: Major XNU version
|
||||||
|
"""
|
||||||
if os.startswith("10."):
|
if os.startswith("10."):
|
||||||
return (int(os.split(".")[1]) + 4)
|
return (int(os.split(".")[1]) + 4)
|
||||||
else:
|
else:
|
||||||
return (int(os.split(".")[0]) + 9)
|
return (int(os.split(".")[0]) + 9)
|
||||||
|
|
||||||
def kernel_to_os(kernel):
|
|
||||||
# Convert major XNU version to OS version
|
def kernel_to_os(kernel: int) -> str:
|
||||||
|
"""
|
||||||
|
Convert major XNU version to OS version
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
kernel (int): Major XNU version
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: OS version
|
||||||
|
"""
|
||||||
if kernel >= os_data.big_sur:
|
if kernel >= os_data.big_sur:
|
||||||
return str((kernel - 9))
|
return str((kernel - 9))
|
||||||
else:
|
else:
|
||||||
return str((f"10.{kernel - 4}"))
|
return str((f"10.{kernel - 4}"))
|
||||||
|
|
||||||
def is_os_newer(source_major, source_minor, target_major, target_minor):
|
|
||||||
# Check if OS version 1 is newer than OS version 2
|
def is_os_newer(source_major: int, source_minor: int, target_major: int, target_minor: int) -> bool:
|
||||||
|
"""
|
||||||
|
Check if OS version 1 is newer than OS version 2
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
source_major (int): Major XNU version of OS version 1
|
||||||
|
source_minor (int): Minor XNU version of OS version 1
|
||||||
|
target_major (int): Major XNU version of OS version 2
|
||||||
|
target_minor (int): Minor XNU version of OS version 2
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
bool: True if OS version 1 is newer than OS version 2
|
||||||
|
"""
|
||||||
if source_major < target_major:
|
if source_major < target_major:
|
||||||
return True
|
return True
|
||||||
elif source_major == target_major:
|
elif source_major == target_major:
|
||||||
@@ -52,8 +81,17 @@ class os_conversion:
|
|||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def convert_kernel_to_marketing_name(kernel):
|
|
||||||
# Convert major XNU version to Marketing Name
|
def convert_kernel_to_marketing_name(kernel: int) -> str:
|
||||||
|
"""
|
||||||
|
Convert major XNU version to Marketing name
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
kernel (int): Major XNU version
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: Marketing name of OS
|
||||||
|
"""
|
||||||
try:
|
try:
|
||||||
# Find os_data enum name
|
# Find os_data enum name
|
||||||
os_name = os_data(kernel).name
|
os_name = os_data(kernel).name
|
||||||
@@ -70,8 +108,17 @@ class os_conversion:
|
|||||||
|
|
||||||
return os_name
|
return os_name
|
||||||
|
|
||||||
def convert_marketing_name_to_kernel(marketing_name):
|
|
||||||
# Convert Marketing Name to major XNU version
|
def convert_marketing_name_to_kernel(marketing_name: str) -> int:
|
||||||
|
"""
|
||||||
|
Convert Marketing Name to major XNU version
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
marketing_name (str): Marketing Name of OS
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
int: Major XNU version
|
||||||
|
"""
|
||||||
try:
|
try:
|
||||||
# Find os_data enum value
|
# Find os_data enum value
|
||||||
os_kernel = os_data[marketing_name.lower().replace(" ", "_")]
|
os_kernel = os_data[marketing_name.lower().replace(" ", "_")]
|
||||||
@@ -81,16 +128,18 @@ class os_conversion:
|
|||||||
return int(os_kernel)
|
return int(os_kernel)
|
||||||
|
|
||||||
|
|
||||||
def find_largest_build(build_array):
|
def find_largest_build(build_array: list) -> str:
|
||||||
# Find the newest version within an array of versions
|
"""
|
||||||
# These builds will have both numbers and letters in the version
|
Find the newest version within an array of versions
|
||||||
# ex:
|
These builds will have both numbers and letters in the version
|
||||||
# [
|
ex:
|
||||||
# "22A5295i",
|
[
|
||||||
# "22A5266r",
|
"22A5295i",
|
||||||
# "22A5286j",
|
"22A5266r",
|
||||||
# "22A5295h",
|
"22A5286j",
|
||||||
# ]
|
"22A5295h",
|
||||||
|
]
|
||||||
|
"""
|
||||||
|
|
||||||
max_length = 0 # Length of the longest build
|
max_length = 0 # Length of the longest build
|
||||||
build_array_split = [] # 'build_array', converted into individual array of elements
|
build_array_split = [] # 'build_array', converted into individual array of elements
|
||||||
|
|||||||
Reference in New Issue
Block a user