diff --git a/resources/commit_info.py b/resources/commit_info.py index 6b1034b2c..43272bbd5 100644 --- a/resources/commit_info.py +++ b/resources/commit_info.py @@ -1,29 +1,40 @@ # Parse Commit Info from binary's info.plist -# App Structure: -# OpenCore-Patcher.app: -# Contents: -# MacOS: -# OpenCore-Patcher -# Info.plist from pathlib import Path import plistlib -class commit_info: +class ParseCommitInfo: + + def __init__(self, binary_path: str): + """ + Parameters: + binary_path (str): Path to binary + """ - def __init__(self, binary_path): self.binary_path = str(binary_path) - self.plist_path = self.convert_binary_path_to_plist_path() + self.plist_path = self._convert_binary_path_to_plist_path() - def convert_binary_path_to_plist_path(self): + def _convert_binary_path_to_plist_path(self): + """ + Resolve Info.plist path from binary path + """ + if Path(self.binary_path).exists(): plist_path = self.binary_path.replace("MacOS/OpenCore-Patcher", "Info.plist") if Path(plist_path).exists() and plist_path.endswith(".plist"): return plist_path return None + def generate_commit_info(self): + """ + Generate commit info from Info.plist + + Returns: + tuple: (Branch, Commit Date, Commit URL) + """ + if self.plist_path: plist_info = plistlib.load(Path(self.plist_path).open("rb")) if "Github" in plist_info: diff --git a/resources/main.py b/resources/main.py index 5138296a0..921e266a3 100644 --- a/resources/main.py +++ b/resources/main.py @@ -80,7 +80,7 @@ class OpenCoreLegacyPatcher: self.constants.unpack_thread.start() # Generate commit info - self.constants.commit_info = commit_info.commit_info(self.constants.launcher_binary).generate_commit_info() + self.constants.commit_info = commit_info.ParseCommitInfo(self.constants.launcher_binary).generate_commit_info() if self.constants.commit_info[0] not in ["Running from source", "Built from source"]: # Now that we have commit info, update nightly link branch = self.constants.commit_info[0]