From 5d45fdf4bdc82b5c0b7e3b131a90153acbb22c5f Mon Sep 17 00:00:00 2001 From: tpkowastaken Date: Sun, 3 Sep 2023 23:01:17 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20Negativn=C3=AD=20=C4=8D=C3=ADsla=20v=20k?= =?UTF-8?q?reditu,=20=C3=BA=C4=8Det=20pro=20platby?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/src/canteen.dart | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/src/canteen.dart b/lib/src/canteen.dart index 74e9498..1ce87ea 100644 --- a/lib/src/canteen.dart +++ b/lib/src/canteen.dart @@ -48,17 +48,19 @@ class Canteen { prihlasen = false; return Future.error("Uživatel není přihlášen"); } - var m = double.tryParse(RegExp(r' +(.+?)(?=&)') + var kreditMatch = double.tryParse(RegExp(r' +(.+?)(?=&)') .firstMatch(r)! .group(1)! .replaceAll(",", ".") - .replaceAll(RegExp(r"[^\w.]"), "")); + .replaceAll(RegExp(r"[^\w.-]"), "")); var jmenoMatch = RegExp(r'(?<=jméno: ).+?(?=<\/b)').firstMatch(r); var prijmeniMatch = RegExp(r'(?<=příjmení: ).+?(?=<\/b)').firstMatch(r); var kategorieMatch = RegExp(r'(?<=kategorie: ).+?(?=<\/b)').firstMatch(r); - var ucetMatch = RegExp(r'(?<=účet pro platby do jídelny: ).+?(?=<\/b)') - .firstMatch(r); + var ucetMatch = RegExp(r'účet pro platby do jídelny:\s*(\d+/\d+)') + .firstMatch(r) + ?.group(1) + ?.replaceAll(RegExp(r'<\/?b>'), '');//odstranit html tag var varMatch = RegExp(r'(?<=variabilní symbol: ).+?(?=<\/b)').firstMatch(r); var specMatch = @@ -67,9 +69,10 @@ class Canteen { var jmeno = jmenoMatch?.group(0) ?? ""; var prijmeni = prijmeniMatch?.group(0) ?? ""; var kategorie = kategorieMatch?.group(0) ?? ""; - var ucet = ucetMatch?.group(0) ?? ""; + var ucet = ucetMatch ?? ""; var varSymbol = varMatch?.group(0) ?? ""; var specSymbol = specMatch?.group(0) ?? ""; + var kredit = kreditMatch ?? 0.0; return Uzivatel( jmeno: jmeno, @@ -78,7 +81,7 @@ class Canteen { ucetProPlatby: ucet, varSymbol: varSymbol, specSymbol: specSymbol, - kredit: m ?? 0.0); + kredit: kredit); } Future _getFirstSession() async {