fix(burza): opravit burzaUrl u multiburza
This commit is contained in:
parent
359cd64dc6
commit
58db9adf6e
3 changed files with 21 additions and 11 deletions
|
@ -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
|
||||
- Opravit negativní čísla v kreditu, účet pro platby by @tpkowastaken in https://github.com/hernikplays/canteenlib/pull/4
|
||||
## 1.1.1
|
||||
|
|
|
@ -48,11 +48,12 @@ class Canteen {
|
|||
prihlasen = false;
|
||||
return Future.error("Uživatel není přihlášen");
|
||||
}
|
||||
var kreditMatch = double.tryParse(RegExp(r' +<span id="Kredit" .+?>(.+?)(?=&)')
|
||||
.firstMatch(r)!
|
||||
.group(1)!
|
||||
.replaceAll(",", ".")
|
||||
.replaceAll(RegExp(r"[^\w.-]"), ""));
|
||||
var kreditMatch = double.tryParse(
|
||||
RegExp(r' +<span id="Kredit" .+?>(.+?)(?=&)')
|
||||
.firstMatch(r)!
|
||||
.group(1)!
|
||||
.replaceAll(",", ".")
|
||||
.replaceAll(RegExp(r"[^\w.-]"), ""));
|
||||
var jmenoMatch = RegExp(r'(?<=jméno: <b>).+?(?=<\/b)').firstMatch(r);
|
||||
var prijmeniMatch = RegExp(r'(?<=příjmení: <b>).+?(?=<\/b)').firstMatch(r);
|
||||
var kategorieMatch =
|
||||
|
@ -60,7 +61,7 @@ class Canteen {
|
|||
var ucetMatch = RegExp(r'účet pro platby do jídelny:\s*<b>(\d+/\d+)</b>')
|
||||
.firstMatch(r)
|
||||
?.group(1)
|
||||
?.replaceAll(RegExp(r'<\/?b>'), '');//odstranit html tag <b>
|
||||
?.replaceAll(RegExp(r'<\/?b>'), ''); //odstranit html tag <b>
|
||||
var varMatch =
|
||||
RegExp(r'(?<=variabilní symbol: <b>).+?(?=<\/b)').firstMatch(r);
|
||||
var specMatch =
|
||||
|
@ -326,7 +327,7 @@ class Canteen {
|
|||
} else {
|
||||
// jinak nastavíme URL pro burzu
|
||||
var match = RegExp(
|
||||
r"""db\/dbProcessOrder\.jsp.+?type=((plusburza)|(minusburza)).+?(?=')""")
|
||||
r"""db\/dbProcessOrder\.jsp.+?type=((plusburza)|(minusburza)|(multiburza)).+?(?=')""")
|
||||
.firstMatch(o);
|
||||
if (match != null) {
|
||||
burzaUrl = match.group(0)!.replaceAll("amp;", "");
|
||||
|
@ -345,7 +346,7 @@ class Canteen {
|
|||
den: obedDen,
|
||||
burzaUrl: burzaUrl,
|
||||
naBurze:
|
||||
(burzaUrl == null) ? false : !burzaUrl.contains("plusburza"),
|
||||
(burzaUrl == null) ? false : burzaUrl.contains("minusburza"),
|
||||
alergeny: [...alergeny.map((e) => e.group(1).toString())]),
|
||||
);
|
||||
// KONEC formátování do třídy
|
||||
|
@ -394,7 +395,7 @@ class Canteen {
|
|||
///
|
||||
/// Výstup:
|
||||
/// - 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) {
|
||||
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í");
|
||||
}
|
||||
|
||||
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 {
|
||||
await _getRequest("/faces/secured/${j.burzaUrl!}"); // provést operaci
|
||||
await _getRequest("/faces/secured/$finalUrl"); // provést operaci
|
||||
} catch (e) {
|
||||
return Future.error(e);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
name: canteenlib
|
||||
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'
|
||||
issue_tracker: 'https://git.mnau.xyz/hernik/canteenlib/issues'
|
||||
|
||||
|
|
Reference in a new issue