fix(burza): opravit burzaUrl u multiburza

This commit is contained in:
Matyáš Caras 2023-09-12 22:26:12 +02:00
parent 359cd64dc6
commit 58db9adf6e
Signed by untrusted user who does not match committer: hernik
GPG key ID: 2A3175F98820C5C6
3 changed files with 21 additions and 11 deletions

View file

@ -1,3 +1,7 @@
## 1.1.4
- Opravit info o stavu na burze
## 1.1.3
- Opravit hledání burza URL u jídelen, kde je tlačítko ve tvaru `X ks do burzy`
## 1.1.2 ## 1.1.2
- Opravit negativní čísla v kreditu, účet pro platby by @tpkowastaken in https://github.com/hernikplays/canteenlib/pull/4 - Opravit negativní čísla v kreditu, účet pro platby by @tpkowastaken in https://github.com/hernikplays/canteenlib/pull/4
## 1.1.1 ## 1.1.1

View file

@ -48,7 +48,8 @@ class Canteen {
prihlasen = false; prihlasen = false;
return Future.error("Uživatel není přihlášen"); return Future.error("Uživatel není přihlášen");
} }
var kreditMatch = double.tryParse(RegExp(r' +<span id="Kredit" .+?>(.+?)(?=&)') var kreditMatch = double.tryParse(
RegExp(r' +<span id="Kredit" .+?>(.+?)(?=&)')
.firstMatch(r)! .firstMatch(r)!
.group(1)! .group(1)!
.replaceAll(",", ".") .replaceAll(",", ".")
@ -326,7 +327,7 @@ class Canteen {
} else { } else {
// jinak nastavíme URL pro burzu // jinak nastavíme URL pro burzu
var match = RegExp( var match = RegExp(
r"""db\/dbProcessOrder\.jsp.+?type=((plusburza)|(minusburza)).+?(?=')""") r"""db\/dbProcessOrder\.jsp.+?type=((plusburza)|(minusburza)|(multiburza)).+?(?=')""")
.firstMatch(o); .firstMatch(o);
if (match != null) { if (match != null) {
burzaUrl = match.group(0)!.replaceAll("amp;", ""); burzaUrl = match.group(0)!.replaceAll("amp;", "");
@ -345,7 +346,7 @@ class Canteen {
den: obedDen, den: obedDen,
burzaUrl: burzaUrl, burzaUrl: burzaUrl,
naBurze: naBurze:
(burzaUrl == null) ? false : !burzaUrl.contains("plusburza"), (burzaUrl == null) ? false : burzaUrl.contains("minusburza"),
alergeny: [...alergeny.map((e) => e.group(1).toString())]), alergeny: [...alergeny.map((e) => e.group(1).toString())]),
); );
// KONEC formátování do třídy // KONEC formátování do třídy
@ -394,7 +395,7 @@ class Canteen {
/// ///
/// Výstup: /// Výstup:
/// - Aktualizovaná instance [Jidlo] tohoto jídla NEBO [Future] jako chyba /// - Aktualizovaná instance [Jidlo] tohoto jídla NEBO [Future] jako chyba
Future<Jidlo> doBurzy(Jidlo j) async { Future<Jidlo> doBurzy(Jidlo j, {int amount = 1}) async {
if (!prihlasen) { if (!prihlasen) {
return Future.error("Uživatel není přihlášen"); return Future.error("Uživatel není přihlášen");
} }
@ -404,8 +405,13 @@ class Canteen {
"Jídlo nelze uložit do burzy nebo nemá adresu pro uložení"); "Jídlo nelze uložit do burzy nebo nemá adresu pro uložení");
} }
if (amount < 1 && j.burzaUrl!.endsWith("amount=")) {
return Future.error("Nemůžeš dát do burzy méně než jeden kus");
}
var finalUrl =
(j.burzaUrl!.endsWith("amount=")) ? "${j.burzaUrl}$amount" : j.burzaUrl;
try { try {
await _getRequest("/faces/secured/${j.burzaUrl!}"); // provést operaci await _getRequest("/faces/secured/$finalUrl"); // provést operaci
} catch (e) { } catch (e) {
return Future.error(e); return Future.error(e);
} }

View file

@ -1,6 +1,6 @@
name: canteenlib name: canteenlib
description: Library for communication with the czech canteen food ordering system iCanteen description: Library for communication with the czech canteen food ordering system iCanteen
version: 1.1.2 version: 1.1.4
repository: 'https://git.mnau.xyz/hernik/canteenlib' repository: 'https://git.mnau.xyz/hernik/canteenlib'
issue_tracker: 'https://git.mnau.xyz/hernik/canteenlib/issues' issue_tracker: 'https://git.mnau.xyz/hernik/canteenlib/issues'