From 7124b6fc353e7ad8a5adc24247d1b818280cc914 Mon Sep 17 00:00:00 2001 From: Mark Johnson Date: Tue, 2 Nov 2021 20:19:41 +0000 Subject: [PATCH] Read VM ports from .ports file Closes #3 --- lib/src/pages/manager.dart | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/src/pages/manager.dart b/lib/src/pages/manager.dart index e96ebb1..bb2cf0d 100644 --- a/lib/src/pages/manager.dart +++ b/lib/src/pages/manager.dart @@ -58,15 +58,18 @@ class _ManagerState extends State { } VmInfo _parseVmInfo(name) { - String shellScript = File(name + '/' + name + '.sh').readAsStringSync(); - RegExpMatch? sshMatch = RegExp('hostfwd=tcp::(\\d+?)-:22').firstMatch(shellScript); - RegExpMatch? spiceMatch = RegExp('-spice.+?port=(\\d+)').firstMatch(shellScript); VmInfo info = VmInfo(); - if (sshMatch != null) { - info.sshPort = sshMatch.group(1); - } - if (spiceMatch != null) { - info.spicePort = spiceMatch.group(1); + List lines = File(name + '/' + name + '.ports').readAsLinesSync(); + for (var line in lines) { + List parts = line.split(','); + switch(parts[0]) { + case 'ssh': + info.sshPort = parts[1]; + break; + case 'spice': + info.spicePort = parts[1]; + break; + } } return info; }