|
diff --git a/lib/filesystem.js b/lib/filesystem.js
index bd62582..0643064 100755
--- a/lib/filesystem.js
+++ b/lib/filesystem.js
@@ -268,30 +268,34 @@ function parseDevices(lines) {
function parseBlk(lines) {
let data = [];
- lines.filter(line => line !== '').forEach((line) => {
- line = decodeURIComponent(line.replace(/\\x/g, '%'));
- line = line.replace(/\\/g, '\\\\');
- let disk = JSON.parse(line);
- data.push({
- 'name': disk.name,
- 'type': disk.type,
- 'fstype': disk.fstype,
- 'mount': disk.mountpoint,
- 'size': parseInt(disk.size),
- 'physical': (disk.type === 'disk' ? (disk.rota === '0' ? 'SSD' : 'HDD') : (disk.type === 'rom' ? 'CD/DVD' : '')),
- 'uuid': disk.uuid,
- 'label': disk.label,
- 'model': disk.model,
- 'serial': disk.serial,
- 'removable': disk.rm === '1',
- 'protocol': disk.tran,
- 'group': disk.group,
+ try {
+ lines.filter(line => line !== '').forEach((line) => {
+ line = decodeURIComponent(line.replace(/\\x/g, '%'));
+ line = line.replace(/\\/g, '\\\\');
+ let disk = JSON.parse(line);
+ data.push({
+ 'name': disk.name,
+ 'type': disk.type,
+ 'fstype': disk.fstype,
+ 'mount': disk.mountpoint,
+ 'size': parseInt(disk.size),
+ 'physical': (disk.type === 'disk' ? (disk.rota === '0' ? 'SSD' : 'HDD') : (disk.type === 'rom' ? 'CD/DVD' : '')),
+ 'uuid': disk.uuid,
+ 'label': disk.label,
+ 'model': disk.model,
+ 'serial': disk.serial,
+ 'removable': disk.rm === '1',
+ 'protocol': disk.tran,
+ 'group': disk.group,
+ });
});
- });
+ data = util.unique(data);
+ data = util.sortByKey(data, ['type', 'name']);
+ return data;
+ } catch (e) {
+ return [];
+ }
- data = util.unique(data);
- data = util.sortByKey(data, ['type', 'name']);
- return data;
}
function blkStdoutToObject(stdout) {
|