Fix system.js splitlines bug (Pythonism) -> split('\n'), fallback to python_mac_ver for version detection
This commit is contained in:
@@ -9,10 +9,12 @@ export async function getSystemInfo() {
|
||||
try {
|
||||
const { stdout } = await execFileAsync("/usr/bin/sw_vers", { timeout: 5000 });
|
||||
const info = {};
|
||||
for (const line of stdout.splitlines()) {
|
||||
for (const line of stdout.split("\n")) {
|
||||
const [k, ...rest] = line.split(":");
|
||||
if (!k) continue;
|
||||
info[k.trim()] = rest.join(":").trim();
|
||||
const key = k.trim();
|
||||
if (!key) continue;
|
||||
info[key] = rest.join(":").trim();
|
||||
}
|
||||
results.sw_vers = info;
|
||||
results.macos_version = info.ProductVersion || info.productVersion || "";
|
||||
@@ -65,10 +67,16 @@ print(platform.mac_ver()[0])
|
||||
} catch {}
|
||||
|
||||
// Is this macOS 26+ ?
|
||||
if (results.macos_version) {
|
||||
const major = parseInt(results.macos_version.split(".")[0], 10);
|
||||
const versionToCheck = results.macos_version || results.python_mac_ver || "";
|
||||
if (versionToCheck) {
|
||||
const major = parseInt(versionToCheck.split(".")[0], 10);
|
||||
results.is_macos_26_plus = major >= 26;
|
||||
results.speech_analyzer_expected = major >= 26 ? "likely available (macOS 26+)" : "not available - requires macOS 26+";
|
||||
} else if (results.python_mac_ver) {
|
||||
const major = parseInt(results.python_mac_ver.split(".")[0], 10);
|
||||
results.macos_version = results.python_mac_ver;
|
||||
results.is_macos_26_plus = major >= 26;
|
||||
results.speech_analyzer_expected = major >= 26 ? "likely available (macOS 26+)" : "not available";
|
||||
}
|
||||
|
||||
return results;
|
||||
|
||||
Reference in New Issue
Block a user