Oprava parsování TechTower
This commit is contained in:
parent
e21da059c6
commit
86af490e94
@ -264,20 +264,32 @@ export const getMenuTechTower = async (firstDayOfWeek: Date, mock: boolean = fal
|
|||||||
const html = await getHtml(TECHTOWER_URL);
|
const html = await getHtml(TECHTOWER_URL);
|
||||||
const $ = load(html);
|
const $ = load(html);
|
||||||
|
|
||||||
const fonts = $('font.wsw-41');
|
let secondTry = false;
|
||||||
|
// První pokus - varianta "Obědy"
|
||||||
|
let fonts = $('font.wsw-41');
|
||||||
let font = undefined;
|
let font = undefined;
|
||||||
fonts.each((i, f) => {
|
fonts.each((i, f) => {
|
||||||
if ($(f).text().trim().startsWith('Obědy')) {
|
if ($(f).text().trim().startsWith('Obědy')) {
|
||||||
font = f;
|
font = f;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
// Druhý pokus - varianta "Jídelní lístek"
|
||||||
|
if (!font) {
|
||||||
|
fonts = $('font.wnd-font-size-90');
|
||||||
|
fonts.each((i, f) => {
|
||||||
|
if ($(f).text().trim().startsWith('Jídelní lístek')) {
|
||||||
|
font = f;
|
||||||
|
secondTry = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
if (!font) {
|
if (!font) {
|
||||||
throw Error('Chyba: nenalezen <font> pro obědy v HTML Techtower.');
|
throw Error('Chyba: nenalezen <font> pro obědy v HTML Techtower.');
|
||||||
}
|
}
|
||||||
|
|
||||||
const result: Food[][] = [];
|
const result: Food[][] = [];
|
||||||
// TODO validovat, že v textu nalezeného <font> je rozsah, do kterého spadá vstupní datum
|
// TODO validovat, že v textu nalezeného <font> je rozsah, do kterého spadá vstupní datum
|
||||||
const siblings = $(font).parent().parent().siblings();
|
const siblings = secondTry ? $(font).parent().siblings() : $(font).parent().parent().siblings();
|
||||||
let parsing = false;
|
let parsing = false;
|
||||||
let currentDayIndex = 0;
|
let currentDayIndex = 0;
|
||||||
for (let i = 0; i < siblings.length; i++) {
|
for (let i = 0; i < siblings.length; i++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user