Alpha version

This commit is contained in:
Matyáš Caras 2022-03-28 17:04:55 +02:00
parent d1543e7acd
commit 8a1b37864d
9 changed files with 47 additions and 16 deletions

2
.pubignore Normal file
View File

@ -0,0 +1,2 @@
.env
test

View File

@ -1,4 +1,6 @@
## 0.1.0-alpha
- První verze, funkčnost omezená
- Metody pro zobrazení jídelníčku
- Funkční přihlášení
- Funkční zobrazení jídelníčku
- Funkční objednávání jídel z jídelníčku
- Funkční zobrazení kreditu

View File

@ -9,7 +9,7 @@ Výchozí verze, pro kterou aktuálně je knihovna tvořena, je **2.18.19**
| Provozovatel | Verze iCanteen | Funkční | Verze knihovny |
|:--------------:|------------------|---------|----------------|
| SŠTE Brno | iCanteen 2.18.19 | | 0.1.0-alpha |
| SŠTE Brno | iCanteen 2.18.19 | | 0.1.0-alpha |
| SPŠ Třebíč | iCanteen 2.10.25 | ❓ | 0.1.0-alpha |
Pokud chcete přispět s testem, otestujte tuto knihovnu na instanci iCanteen, kde, nejlépe legálně, máte přístup, a nahlašte své poznatky [zde](https://github.com/hernikplays/canteenlib/issues/new?assignees=hernikplays&labels=kompatibilita&template=hl--en--kompatibility.md&title=Kompatibilita%3A+)

View File

View File

@ -5,6 +5,12 @@ Experimentální **neoficiální** webscrape knihovna pro komunikaci se systéme
## Funkční funkce(*)
- získání jídelníčku na aktuální den (s cenami)
- Objednání / zrušení objednávek
- Nabídnutí jídla do burzy / zrušení
## To do
- Získání a objednání cizího jídla z burzy
- Kompatibilita se staršími verzemi iCanteen
*\* Knihovna nemusí fungovat na všech instancích systému iCanteen, proto žádám každého, kdo může a je uživatelem iCanteen, aby otestoval funkčnost této knihovny a případné problémy [nahlásil](https://github.com/hernikplays/canteenlib/issues)*

View File

@ -1,10 +1,17 @@
import 'package:canteenlib/canteenlib.dart';
void main() {
var canteen = Canteen("http://icanteen.vasedomena.neco");
canteen.login("user", "password").then((_) {
canteen.jidelnicekDen().then((jidelnicek) {
print(jidelnicek.jidla[0].nazev);
void main(List<String> args) {
Canteen c = Canteen("https://kantyna.neco.cz");
c.login("uzivatel", "heslo").then((value) {
c.jidelnicekDen(den: DateTime.parse("2022-04-04")).then((t) async {
print(await c.ziskejKredit());
c.objednat(t.jidla[0]).then(
(value) {
t.jidla[0] = value; // divně udělané ale nic lepšího teď nevymyslím
print(t.jidla[0].objednano);
print(t.jidla[0].orderUrl);
},
);
});
});
}

View File

@ -169,7 +169,8 @@ class Canteen {
objednano: false,
cislo: vydejna!.group(0).toString(),
lzeObjednat: false,
den: den));
den: den,
naBurze: false));
}
jidelnicek.add(Jidelnicek(den, jidla));
}
@ -247,7 +248,10 @@ class Canteen {
lzeObjednat: lzeObjednat,
cena: cena,
orderUrl: orderUrl,
den: obedDen));
den: obedDen,
burzaUrl: burzaUrl,
naBurze:
(burzaUrl == null) ? false : !burzaUrl.contains("plusburza")));
// KONEC formátování do třídy
}
@ -296,11 +300,13 @@ class Canteen {
lzeObjednat: j.lzeObjednat,
orderUrl: orderUrl,
den: j.den,
burzaUrl: burzaUrl); // vrátit upravenou instanci
burzaUrl: burzaUrl,
naBurze: (burzaUrl == null)
? false
: !burzaUrl.contains("plusburza")); // vrátit upravenou instanci
}
Future<Jidlo> doBurzy(Jidlo j) async {
//TODO
if (j.burzaUrl == null || j.burzaUrl!.isEmpty) {
return j;
}
@ -338,6 +344,9 @@ class Canteen {
lzeObjednat: j.lzeObjednat,
orderUrl: orderUrl,
den: j.den,
burzaUrl: burzaUrl); // vrátit upravenou instanci
burzaUrl: burzaUrl,
naBurze: (burzaUrl == null)
? false
: !burzaUrl.contains("plusburza")); // vrátit upravenou instanci
}
}

View File

@ -15,6 +15,9 @@ class Jidlo {
///Lze objednat?
bool lzeObjednat;
/// Je jídlo aktuálně na burze?
bool naBurze;
/// Den, který je jídlo vydáváno
DateTime den;
@ -31,7 +34,8 @@ class Jidlo {
this.cena,
required this.lzeObjednat,
this.orderUrl,
this.burzaUrl});
this.burzaUrl,
required this.naBurze});
}
/// Reprezentuje jídelníček pro jeden dan

View File

@ -1,7 +1,8 @@
name: canteenlib
description: Knihovna pro komunikaci se stravovacím systémem iCanteen
version: 0.1.0-alpha
# homepage: https://www.example.com
repository: 'https://github.com/hernikplays/canteenlib'
issue_tracker: 'https://github.com/hernikplays/canteenlib/issues'
environment:
sdk: '>=2.16.1 <3.0.0'
@ -10,5 +11,5 @@ dev_dependencies:
dotenv: ^3.0.0
lints: ^1.0.0
test: ^1.16.0
dependencies:
dependencies:
http: ^0.13.4