mirror of
https://github.com/outbackdingo/OpCore-Simplify.git
synced 2026-01-27 10:19:49 +00:00
Update codec layouts to datasets
This commit is contained in:
@@ -2,7 +2,7 @@ from Scripts.datasets import chipset_data
|
||||
from Scripts.datasets import gpu_data
|
||||
from Scripts.datasets import os_data
|
||||
from Scripts.datasets import pci_data
|
||||
from Scripts import codec_layouts
|
||||
from Scripts.datasets import codec_layouts
|
||||
from Scripts import utils
|
||||
import time
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ from Scripts.datasets import cpu_data
|
||||
from Scripts.datasets import mac_model_data
|
||||
from Scripts.datasets import os_data
|
||||
from Scripts.datasets import pci_data
|
||||
from Scripts import codec_layouts
|
||||
from Scripts.datasets import codec_layouts
|
||||
from Scripts import gathering_files
|
||||
from Scripts import smbios
|
||||
from Scripts import utils
|
||||
|
||||
40
Scripts/codec_layouts.py → Scripts/datasets/codec_layouts.py
Executable file → Normal file
40
Scripts/codec_layouts.py → Scripts/datasets/codec_layouts.py
Executable file → Normal file
@@ -1,41 +1,8 @@
|
||||
import utils
|
||||
import os
|
||||
|
||||
u = utils.Utils()
|
||||
|
||||
class Layout:
|
||||
def __init__(self, id, comment):
|
||||
self.id = id
|
||||
self.comment = comment
|
||||
|
||||
def get_layout_ids(applealc_path):
|
||||
if not os.path.exists(applealc_path):
|
||||
return {}
|
||||
|
||||
plist_path = os.path.join(applealc_path, "Contents", "Info.plist")
|
||||
plist_data = u.read_file(plist_path)
|
||||
|
||||
if not plist_data:
|
||||
return {}
|
||||
|
||||
codec_layouts = {}
|
||||
|
||||
hda_config_defaults = plist_data.get("IOKitPersonalities", {}).get("as.vit9696.AppleALC", {}).get("HDAConfigDefault", [])
|
||||
for layout in hda_config_defaults:
|
||||
codec_id_hex = u.int_to_hex(layout.get("CodecID", 0)).zfill(8)
|
||||
formatted_codec_id = "{}-{}".format(codec_id_hex[:4], codec_id_hex[-4:])
|
||||
id = layout.get("LayoutID")
|
||||
comment = layout.get("Codec") or layout.get("Comment") or layout.get("CodecName")
|
||||
if id is not None:
|
||||
if formatted_codec_id not in codec_layouts:
|
||||
codec_layouts[formatted_codec_id] = []
|
||||
codec_layouts[formatted_codec_id].append(Layout(id, comment))
|
||||
|
||||
for codec_id in codec_layouts:
|
||||
codec_layouts[codec_id] = sorted(codec_layouts[codec_id], key=lambda layout:layout.id)
|
||||
|
||||
return codec_layouts
|
||||
|
||||
data = {
|
||||
"10EC-0295": [
|
||||
Layout(
|
||||
@@ -2821,9 +2788,4 @@ data = {
|
||||
comment="Enrico - GA-Z77X-D3Hrev1.0 - VIA VT2020/2021"
|
||||
)
|
||||
]
|
||||
}
|
||||
|
||||
for codec_name, codec_data in data.items():
|
||||
recommend_author = ("Mirone", "InsanelyDeepak", "Toleda", "DalianSky")
|
||||
recommend_layouts = list(layout for layout in codec_data if u.contains_any(recommend_author, layout.comment))
|
||||
print("{}: {}".format(codec_name, recommend_layouts or codec_data))
|
||||
}
|
||||
@@ -3,7 +3,7 @@ from Scripts.datasets import cpu_data
|
||||
from Scripts.datasets import kext_data
|
||||
from Scripts.datasets import os_data
|
||||
from Scripts.datasets import pci_data
|
||||
from Scripts import codec_layouts
|
||||
from Scripts.datasets import codec_layouts
|
||||
from Scripts import utils
|
||||
import os
|
||||
import shutil
|
||||
|
||||
Reference in New Issue
Block a user