opt. & rm: server detail cards seq

This commit is contained in:
lollipopkit
2023-12-25 14:02:46 +08:00
parent 527e161264
commit 3a3ba4de37
9 changed files with 232 additions and 241 deletions

View File

@@ -19,6 +19,40 @@ class Disk {
required this.size,
required this.avail,
});
static List<Disk> parse(String raw) {
final list = <Disk>[];
final items = raw.split('\n');
items.removeAt(0);
var pathCache = '';
for (var item in items) {
if (item.isEmpty) {
continue;
}
final vals = item.split(Miscs.numReg);
if (vals.length == 1) {
pathCache = vals[0];
continue;
}
if (pathCache != '') {
vals[0] = pathCache;
pathCache = '';
}
try {
list.add(Disk(
dev: vals[0],
mount: vals[5],
usedPercent: int.parse(vals[4].replaceFirst('%', '')),
used: vals[2],
size: vals[1],
avail: vals[3],
));
} catch (e) {
continue;
}
}
return list;
}
}
class DiskIO extends TimeSeq<DiskIOPiece> {
@@ -118,40 +152,6 @@ class DiskIOPiece extends TimeSeqIface<DiskIOPiece> {
bool same(DiskIOPiece other) => dev == other.dev;
}
List<Disk> parseDisk(String raw) {
final list = <Disk>[];
final items = raw.split('\n');
items.removeAt(0);
var pathCache = '';
for (var item in items) {
if (item.isEmpty) {
continue;
}
final vals = item.split(Miscs.numReg);
if (vals.length == 1) {
pathCache = vals[0];
continue;
}
if (pathCache != '') {
vals[0] = pathCache;
pathCache = '';
}
try {
list.add(Disk(
dev: vals[0],
mount: vals[5],
usedPercent: int.parse(vals[4].replaceFirst('%', '')),
used: vals[2],
size: vals[1],
avail: vals[3],
));
} catch (e) {
continue;
}
}
return list;
}
/// Issue 88
///
/// Due to performance issues,