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 {
|
try {
|
||||||
const { stdout } = await execFileAsync("/usr/bin/sw_vers", { timeout: 5000 });
|
const { stdout } = await execFileAsync("/usr/bin/sw_vers", { timeout: 5000 });
|
||||||
const info = {};
|
const info = {};
|
||||||
for (const line of stdout.splitlines()) {
|
for (const line of stdout.split("\n")) {
|
||||||
const [k, ...rest] = line.split(":");
|
const [k, ...rest] = line.split(":");
|
||||||
if (!k) continue;
|
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.sw_vers = info;
|
||||||
results.macos_version = info.ProductVersion || info.productVersion || "";
|
results.macos_version = info.ProductVersion || info.productVersion || "";
|
||||||
@@ -65,10 +67,16 @@ print(platform.mac_ver()[0])
|
|||||||
} catch {}
|
} catch {}
|
||||||
|
|
||||||
// Is this macOS 26+ ?
|
// Is this macOS 26+ ?
|
||||||
if (results.macos_version) {
|
const versionToCheck = results.macos_version || results.python_mac_ver || "";
|
||||||
const major = parseInt(results.macos_version.split(".")[0], 10);
|
if (versionToCheck) {
|
||||||
|
const major = parseInt(versionToCheck.split(".")[0], 10);
|
||||||
results.is_macos_26_plus = major >= 26;
|
results.is_macos_26_plus = major >= 26;
|
||||||
results.speech_analyzer_expected = major >= 26 ? "likely available (macOS 26+)" : "not available - requires macOS 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;
|
return results;
|
||||||
|
|||||||
Reference in New Issue
Block a user