mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
opt. & rm: server detail cards seq
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import 'package:toolbox/core/extension/listx.dart';
|
||||
|
||||
class Memory {
|
||||
final int total;
|
||||
final int free;
|
||||
@@ -17,51 +19,36 @@ class Memory {
|
||||
}
|
||||
|
||||
double get usedPercent => 1 - availPercent;
|
||||
|
||||
static Memory parse(String raw) {
|
||||
final items = raw.split('\n').map((e) => memItemReg.firstMatch(e)).toList();
|
||||
|
||||
final total = int.tryParse(items
|
||||
.firstWhereOrNull((e) => e?.group(1) == 'MemTotal:')
|
||||
?.group(2) ??
|
||||
'1') ??
|
||||
1;
|
||||
final free = int.tryParse(items
|
||||
.firstWhereOrNull((e) => e?.group(1) == 'MemFree:')
|
||||
?.group(2) ??
|
||||
'0') ??
|
||||
0;
|
||||
final available = int.tryParse(items
|
||||
.firstWhereOrNull((e) => e?.group(1) == 'MemAvailable:')
|
||||
?.group(2) ??
|
||||
'0') ??
|
||||
0;
|
||||
|
||||
return Memory(
|
||||
total: total,
|
||||
free: free,
|
||||
avail: available,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
final memItemReg = RegExp(r'([A-Z].+:)\s+([0-9]+) kB');
|
||||
|
||||
Memory parseMem(String raw) {
|
||||
final items = raw.split('\n').map((e) => memItemReg.firstMatch(e)).toList();
|
||||
|
||||
final total = int.tryParse(
|
||||
items
|
||||
.firstWhere(
|
||||
(e) => e?.group(1) == 'MemTotal:',
|
||||
orElse: () => null,
|
||||
)
|
||||
?.group(2) ??
|
||||
'1',
|
||||
) ??
|
||||
1;
|
||||
final free = int.tryParse(
|
||||
items
|
||||
.firstWhere(
|
||||
(e) => e?.group(1) == 'MemFree:',
|
||||
orElse: () => null,
|
||||
)
|
||||
?.group(2) ??
|
||||
'0',
|
||||
) ??
|
||||
0;
|
||||
final available = int.tryParse(
|
||||
items
|
||||
.firstWhere(
|
||||
(e) => e?.group(1) == 'MemAvailable:',
|
||||
orElse: () => null,
|
||||
)
|
||||
?.group(2) ??
|
||||
'0',
|
||||
) ??
|
||||
0;
|
||||
|
||||
return Memory(
|
||||
total: total,
|
||||
free: free,
|
||||
avail: available,
|
||||
);
|
||||
}
|
||||
|
||||
class Swap {
|
||||
final int total;
|
||||
final int free;
|
||||
@@ -81,45 +68,30 @@ class Swap {
|
||||
String toString() {
|
||||
return 'Swap{total: $total, free: $free, cached: $cached}';
|
||||
}
|
||||
}
|
||||
|
||||
Swap parseSwap(String raw) {
|
||||
final items = raw.split('\n').map((e) => memItemReg.firstMatch(e)).toList();
|
||||
|
||||
final total = int.tryParse(
|
||||
items
|
||||
.firstWhere(
|
||||
(e) => e?.group(1) == 'SwapTotal:',
|
||||
orElse: () => null,
|
||||
)
|
||||
?.group(2) ??
|
||||
'1',
|
||||
) ??
|
||||
0;
|
||||
final free = int.tryParse(
|
||||
items
|
||||
.firstWhere(
|
||||
(e) => e?.group(1) == 'SwapFree:',
|
||||
orElse: () => null,
|
||||
)
|
||||
?.group(2) ??
|
||||
'1',
|
||||
) ??
|
||||
0;
|
||||
final cached = int.tryParse(
|
||||
items
|
||||
.firstWhere(
|
||||
(e) => e?.group(1) == 'SwapCached:',
|
||||
orElse: () => null,
|
||||
)
|
||||
?.group(2) ??
|
||||
'0',
|
||||
) ??
|
||||
0;
|
||||
|
||||
return Swap(
|
||||
total: total,
|
||||
free: free,
|
||||
cached: cached,
|
||||
);
|
||||
|
||||
static Swap parse(String raw) {
|
||||
final items = raw.split('\n').map((e) => memItemReg.firstMatch(e)).toList();
|
||||
|
||||
final total = int.tryParse(items
|
||||
.firstWhereOrNull((e) => e?.group(1) == 'SwapTotal:')
|
||||
?.group(2) ??
|
||||
'1') ??
|
||||
0;
|
||||
final free = int.tryParse(items
|
||||
.firstWhereOrNull((e) => e?.group(1) == 'SwapFree:')
|
||||
?.group(2) ??
|
||||
'1') ??
|
||||
0;
|
||||
final cached = int.tryParse(items
|
||||
.firstWhereOrNull((e) => e?.group(1) == 'SwapCached:')
|
||||
?.group(2) ??
|
||||
'0') ??
|
||||
0;
|
||||
|
||||
return Swap(
|
||||
total: total,
|
||||
free: free,
|
||||
cached: cached,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user