mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-06-15 03:46:28 +10:00
Display Commit Info in Dev Debug menu
This commit is contained in:
+12
-5
@@ -11,6 +11,7 @@
|
||||
# Copyright (C) 2022 - Mykola Grymalyuk
|
||||
|
||||
from pathlib import Path
|
||||
import time
|
||||
import argparse
|
||||
import os
|
||||
import subprocess
|
||||
@@ -204,15 +205,21 @@ class create_binary:
|
||||
|
||||
def add_commit_data(self):
|
||||
if not self.args.branch and not self.args.commit and not self.args.commit_date:
|
||||
print(" - No commit data provided, skipping")
|
||||
return
|
||||
print(" - No commit data provided, adding source info")
|
||||
branch = "Built from source"
|
||||
commit_url = ""
|
||||
commit_date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
||||
else:
|
||||
branch = self.args.branch
|
||||
commit_url = self.args.commit
|
||||
commit_date = self.args.commit_date
|
||||
print(" - Adding commit data to Info.plist")
|
||||
plist_path = Path("./dist/OpenCore-Patcher.app/Contents/Info.plist")
|
||||
plist = plistlib.load(Path(plist_path).open("rb"))
|
||||
plist["Github"] = {
|
||||
"Branch": self.args.branch,
|
||||
"Commit URL": self.args.commit,
|
||||
"Commit Date": self.args.commit_date
|
||||
"Branch": branch,
|
||||
"Commit URL": commit_url,
|
||||
"Commit Date": commit_date,
|
||||
}
|
||||
plistlib.dump(plist, Path(plist_path).open("wb"), sort_keys=True)
|
||||
|
||||
|
||||
+35
-1
@@ -2785,11 +2785,45 @@ class wx_python_gui:
|
||||
)
|
||||
self.real_user_id_label.Center(wx.HORIZONTAL)
|
||||
|
||||
|
||||
commit_dict = self.constants.commit_info
|
||||
# Label: Built from Branch:
|
||||
self.built_from_branch_label = wx.StaticText(self.frame_modal, label=f"Branch: {commit_dict[0]}")
|
||||
self.built_from_branch_label.SetFont(wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
|
||||
self.built_from_branch_label.SetPosition(
|
||||
wx.Point(self.real_user_id_label.GetPosition().x, self.real_user_id_label.GetPosition().y + self.real_user_id_label.GetSize().height + 10)
|
||||
)
|
||||
self.built_from_branch_label.Center(wx.HORIZONTAL)
|
||||
|
||||
# Label: Built on: (Date)
|
||||
self.built_on_label = wx.StaticText(self.frame_modal, label=f"Date: {commit_dict[1]}")
|
||||
self.built_on_label.SetFont(wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
|
||||
self.built_on_label.SetPosition(
|
||||
wx.Point(self.built_from_branch_label.GetPosition().x, self.built_from_branch_label.GetPosition().y + self.built_from_branch_label.GetSize().height + 10)
|
||||
)
|
||||
|
||||
# Label: Commit URL: (hyperlink)
|
||||
self.commit_url_label = wx.StaticText(self.frame_modal, label=f"URL: ")
|
||||
self.commit_url_label.SetFont(wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
|
||||
self.commit_url_label.SetPosition(
|
||||
wx.Point(self.built_on_label.GetPosition().x, self.built_on_label.GetPosition().y + self.built_on_label.GetSize().height + 10)
|
||||
)
|
||||
|
||||
# Hyperlink to the right of commit_url_label
|
||||
if commit_dict[2] != "":
|
||||
self.commit_url_hyperlink = hyperlink.HyperLinkCtrl(self.frame_modal, id=wx.ID_ANY, label=f"Link", URL=f"{commit_dict[2]}")
|
||||
self.commit_url_hyperlink.SetPosition(
|
||||
wx.Point(self.commit_url_label.GetPosition().x + self.commit_url_label.GetSize().width, self.commit_url_label.GetPosition().y)
|
||||
)
|
||||
self.commit_url_hyperlink.SetForegroundColour((25, 179, 231))
|
||||
else:
|
||||
self.commit_url_label.Label = f"URL: Not applicable"
|
||||
|
||||
# Label: Model Dump
|
||||
self.model_dump_label = wx.StaticText(self.frame_modal, label="Model Dump")
|
||||
self.model_dump_label.SetFont(wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
|
||||
self.model_dump_label.SetPosition(
|
||||
wx.Point(self.real_user_id_label.GetPosition().x, self.real_user_id_label.GetPosition().y + self.real_user_id_label.GetSize().height + 10)
|
||||
wx.Point(self.commit_url_label.GetPosition().x, self.commit_url_label.GetPosition().y + self.commit_url_label.GetSize().height + 10)
|
||||
)
|
||||
self.model_dump_label.Center(wx.HORIZONTAL)
|
||||
|
||||
|
||||
@@ -0,0 +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:
|
||||
|
||||
def __init__(self, binary_path):
|
||||
self.binary_path = str(binary_path)
|
||||
self.plist_path = self.convert_binary_path_to_plist_path()
|
||||
|
||||
|
||||
def convert_binary_path_to_plist_path(self):
|
||||
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):
|
||||
if self.plist_path:
|
||||
# print(self.plist_path)
|
||||
plist_info = plistlib.load(Path(self.plist_path).open("rb"))
|
||||
if "Github" in plist_info:
|
||||
return (
|
||||
plist_info["Github"]["Branch"],
|
||||
plist_info["Github"]["Commit Date"],
|
||||
plist_info["Github"]["Commit URL"],
|
||||
)
|
||||
return (
|
||||
"Running from source",
|
||||
"Not applicable",
|
||||
"",
|
||||
)
|
||||
@@ -193,6 +193,7 @@ class Constants:
|
||||
self.host_is_non_metal = False # Determine if host is non-metal (ie. enable UI hacks)
|
||||
self.needs_to_open_preferences = False # Determine if preferences need to be opened
|
||||
self.host_is_hackintosh = False # Determine if host is Hackintosh
|
||||
self.commit_info = (None, None, None)
|
||||
|
||||
self.legacy_accel_support = [
|
||||
os_data.os_data.big_sur,
|
||||
|
||||
+2
-1
@@ -8,7 +8,7 @@ from pathlib import Path
|
||||
import time
|
||||
import threading
|
||||
|
||||
from resources import build, cli_menu, constants, utilities, device_probe, os_probe, defaults, arguments, install, tui_helpers, reroute_payloads, global_settings
|
||||
from resources import build, cli_menu, constants, utilities, device_probe, os_probe, defaults, arguments, install, tui_helpers, reroute_payloads, commit_info
|
||||
from data import model_array
|
||||
|
||||
class OpenCoreLegacyPatcher:
|
||||
@@ -47,6 +47,7 @@ class OpenCoreLegacyPatcher:
|
||||
self.constants.launcher_script = launcher_script
|
||||
self.constants.unpack_thread = threading.Thread(target=reroute_payloads.reroute_payloads(self.constants).setup_tmp_disk_image)
|
||||
self.constants.unpack_thread.start()
|
||||
self.constants.commit_info = commit_info.commit_info(self.constants.launcher_binary).generate_commit_info()
|
||||
|
||||
defaults.generate_defaults.probe(self.computer.real_model, True, self.constants)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user