Alpha version
This commit is contained in:
parent
d1543e7acd
commit
8a1b37864d
9 changed files with 47 additions and 16 deletions
2
.pubignore
Normal file
2
.pubignore
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
.env
|
||||||
|
test
|
|
@ -1,4 +1,6 @@
|
||||||
## 0.1.0-alpha
|
## 0.1.0-alpha
|
||||||
|
|
||||||
- První verze, funkčnost omezená
|
- Funkční přihlášení
|
||||||
- Metody pro zobrazení jídelníčku
|
- Funkční zobrazení jídelníčku
|
||||||
|
- Funkční objednávání jídel z jídelníčku
|
||||||
|
- Funkční zobrazení kreditu
|
||||||
|
|
|
@ -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 |
|
| 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 |
|
| 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+)
|
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+)
|
|
@ -5,6 +5,12 @@ Experimentální **neoficiální** webscrape knihovna pro komunikaci se systéme
|
||||||
|
|
||||||
## Funkční funkce(*)
|
## Funkční funkce(*)
|
||||||
- získání jídelníčku na aktuální den (s cenami)
|
- 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)*
|
*\* 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)*
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,17 @@
|
||||||
import 'package:canteenlib/canteenlib.dart';
|
import 'package:canteenlib/canteenlib.dart';
|
||||||
|
|
||||||
void main() {
|
void main(List<String> args) {
|
||||||
var canteen = Canteen("http://icanteen.vasedomena.neco");
|
Canteen c = Canteen("https://kantyna.neco.cz");
|
||||||
canteen.login("user", "password").then((_) {
|
c.login("uzivatel", "heslo").then((value) {
|
||||||
canteen.jidelnicekDen().then((jidelnicek) {
|
c.jidelnicekDen(den: DateTime.parse("2022-04-04")).then((t) async {
|
||||||
print(jidelnicek.jidla[0].nazev);
|
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);
|
||||||
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -169,7 +169,8 @@ class Canteen {
|
||||||
objednano: false,
|
objednano: false,
|
||||||
cislo: vydejna!.group(0).toString(),
|
cislo: vydejna!.group(0).toString(),
|
||||||
lzeObjednat: false,
|
lzeObjednat: false,
|
||||||
den: den));
|
den: den,
|
||||||
|
naBurze: false));
|
||||||
}
|
}
|
||||||
jidelnicek.add(Jidelnicek(den, jidla));
|
jidelnicek.add(Jidelnicek(den, jidla));
|
||||||
}
|
}
|
||||||
|
@ -247,7 +248,10 @@ class Canteen {
|
||||||
lzeObjednat: lzeObjednat,
|
lzeObjednat: lzeObjednat,
|
||||||
cena: cena,
|
cena: cena,
|
||||||
orderUrl: orderUrl,
|
orderUrl: orderUrl,
|
||||||
den: obedDen));
|
den: obedDen,
|
||||||
|
burzaUrl: burzaUrl,
|
||||||
|
naBurze:
|
||||||
|
(burzaUrl == null) ? false : !burzaUrl.contains("plusburza")));
|
||||||
// KONEC formátování do třídy
|
// KONEC formátování do třídy
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -296,11 +300,13 @@ class Canteen {
|
||||||
lzeObjednat: j.lzeObjednat,
|
lzeObjednat: j.lzeObjednat,
|
||||||
orderUrl: orderUrl,
|
orderUrl: orderUrl,
|
||||||
den: j.den,
|
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 {
|
Future<Jidlo> doBurzy(Jidlo j) async {
|
||||||
//TODO
|
|
||||||
if (j.burzaUrl == null || j.burzaUrl!.isEmpty) {
|
if (j.burzaUrl == null || j.burzaUrl!.isEmpty) {
|
||||||
return j;
|
return j;
|
||||||
}
|
}
|
||||||
|
@ -338,6 +344,9 @@ class Canteen {
|
||||||
lzeObjednat: j.lzeObjednat,
|
lzeObjednat: j.lzeObjednat,
|
||||||
orderUrl: orderUrl,
|
orderUrl: orderUrl,
|
||||||
den: j.den,
|
den: j.den,
|
||||||
burzaUrl: burzaUrl); // vrátit upravenou instanci
|
burzaUrl: burzaUrl,
|
||||||
|
naBurze: (burzaUrl == null)
|
||||||
|
? false
|
||||||
|
: !burzaUrl.contains("plusburza")); // vrátit upravenou instanci
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,9 @@ class Jidlo {
|
||||||
///Lze objednat?
|
///Lze objednat?
|
||||||
bool lzeObjednat;
|
bool lzeObjednat;
|
||||||
|
|
||||||
|
/// Je jídlo aktuálně na burze?
|
||||||
|
bool naBurze;
|
||||||
|
|
||||||
/// Den, který je jídlo vydáváno
|
/// Den, který je jídlo vydáváno
|
||||||
DateTime den;
|
DateTime den;
|
||||||
|
|
||||||
|
@ -31,7 +34,8 @@ class Jidlo {
|
||||||
this.cena,
|
this.cena,
|
||||||
required this.lzeObjednat,
|
required this.lzeObjednat,
|
||||||
this.orderUrl,
|
this.orderUrl,
|
||||||
this.burzaUrl});
|
this.burzaUrl,
|
||||||
|
required this.naBurze});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Reprezentuje jídelníček pro jeden dan
|
/// Reprezentuje jídelníček pro jeden dan
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
name: canteenlib
|
name: canteenlib
|
||||||
description: Knihovna pro komunikaci se stravovacím systémem iCanteen
|
description: Knihovna pro komunikaci se stravovacím systémem iCanteen
|
||||||
version: 0.1.0-alpha
|
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:
|
environment:
|
||||||
sdk: '>=2.16.1 <3.0.0'
|
sdk: '>=2.16.1 <3.0.0'
|
||||||
|
@ -10,5 +11,5 @@ dev_dependencies:
|
||||||
dotenv: ^3.0.0
|
dotenv: ^3.0.0
|
||||||
lints: ^1.0.0
|
lints: ^1.0.0
|
||||||
test: ^1.16.0
|
test: ^1.16.0
|
||||||
dependencies:
|
dependencies:
|
||||||
http: ^0.13.4
|
http: ^0.13.4
|
||||||
|
|
Reference in a new issue