battery() fix designedCapacity (win, linux), fix catch error

This commit is contained in:
Sebastian Hildebrandt
2021-07-17 16:13:24 +02:00
parent a8cba81523
commit 2fd2454040
6 changed files with 26 additions and 16 deletions
+7 -7
View File
@@ -27,7 +27,7 @@ const _openbsd = (_platform === 'openbsd');
const _netbsd = (_platform === 'netbsd');
const _sunos = (_platform === 'sunos');
function parseWinBatteryPart(lines, designCapacity, fullChargeCapacity) {
function parseWinBatteryPart(lines, designedCapacity, fullChargeCapacity) {
const result = {};
let status = util.getValue(lines, 'BatteryStatus', '=').trim();
// 1 = "Discharging"
@@ -46,7 +46,7 @@ function parseWinBatteryPart(lines, designCapacity, fullChargeCapacity) {
result.status = statusValue;
result.hasBattery = true;
result.maxCapacity = fullChargeCapacity || parseInt(util.getValue(lines, 'DesignCapacity', '=') || 0);
result.designCapacity = parseInt(util.getValue(lines, 'DesignCapacity', '=') || designCapacity);
result.designedCapacity = parseInt(util.getValue(lines, 'DesignCapacity', '=') || designedCapacity);
result.voltage = parseInt(util.getValue(lines, 'DesignVoltage', '=') || 0) / 1000.0;
result.capacityUnit = 'mWh';
result.percent = parseInt(util.getValue(lines, 'EstimatedChargeRemaining', '=') || 0);
@@ -105,7 +105,7 @@ module.exports = function (callback) {
result.currentCapacity = Math.round(parseInt('0' + util.getValue(lines, 'POWER_SUPPLY_CHARGE_NOW', '='), 10) / 1000.0 / (result.voltage || 1));
if (!result.maxCapacity) {
result.maxCapacity = parseInt('0' + util.getValue(lines, 'POWER_SUPPLY_ENERGY_FULL', '='), 10) / 1000.0;
result.designCapacity = parseInt('0' + util.getValue(lines, 'POWER_SUPPLY_ENERGY_FULL_DESIGN', '='), 10) / 1000.0 | result.maxCapacity;
result.designedCapacity = parseInt('0' + util.getValue(lines, 'POWER_SUPPLY_ENERGY_FULL_DESIGN', '='), 10) / 1000.0 | result.maxCapacity;
result.currentCapacity = parseInt('0' + util.getValue(lines, 'POWER_SUPPLY_ENERGY_NOW', '='), 10) / 1000.0;
}
const percent = util.getValue(lines, 'POWER_SUPPLY_CAPACITY', '=');
@@ -236,13 +236,13 @@ module.exports = function (callback) {
let additionalBatteries = [];
for (let i = 0; i < batteries.length; i++) {
let lines = batteries[i];
const designCapacity = designCapacities && designCapacities.length >= (i + 1) && designCapacities[i] ? util.toInt(designCapacities[i]) : 0;
const designedCapacity = designCapacities && designCapacities.length >= (i + 1) && designCapacities[i] ? util.toInt(designCapacities[i]) : 0;
const fullChargeCapacity = fullChargeCapacities && fullChargeCapacities.length >= (i + 1) && fullChargeCapacities[i] ? util.toInt(fullChargeCapacities[i]) : 0;
const parsed = parseWinBatteryPart(lines, designCapacity, fullChargeCapacity);
const parsed = parseWinBatteryPart(lines, designedCapacity, fullChargeCapacity);
if (!first && parsed.status > 0 && parsed.status !== 10) {
result.hasBattery = parsed.hasBattery;
result.maxCapacity = parsed.maxCapacity;
result.designCapacity = parsed.designCapacity;
result.designedCapacity = parsed.designedCapacity;
result.voltage = parsed.voltage;
result.capacityUnit = parsed.capacityUnit;
result.percent = parsed.percent;
@@ -256,7 +256,7 @@ module.exports = function (callback) {
{
hasBattery: parsed.hasBattery,
maxCapacity: parsed.maxCapacity,
designCapacity: parsed.designCapacity,
designedCapacity: parsed.designedCapacity,
voltage: parsed.voltage,
capacityUnit: parsed.capacityUnit,
percent: parsed.percent,
+9 -5
View File
@@ -684,11 +684,15 @@ function getFilesInPath(source) {
}
function getFilesRecursively(source) {
let dirs = getDirectories(source);
let files = dirs
.map(function (dir) { return getFilesRecursively(dir); })
.reduce(function (a, b) { return a.concat(b); }, []);
return files.concat(getFiles(source));
try {
let dirs = getDirectories(source);
let files = dirs
.map(function (dir) { return getFilesRecursively(dir); })
.reduce(function (a, b) { return a.concat(b); }, []);
return files.concat(getFiles(source));
} catch (e) {
return [];
}
}
if (fs.existsSync(source)) {