battery() fix designedCapacity (win, linux), fix catch error
This commit is contained in:
+7
-7
@@ -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
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user