Oprava parseru, nedělitelné mezery v cenách

This commit is contained in:
Martin Berka 2023-07-22 19:58:28 +02:00
parent 4d0096c064
commit 1c1a8b7111
2 changed files with 18 additions and 20 deletions

View File

@ -208,10 +208,8 @@ function App() {
<Alert variant={'primary'}>
Poslední změny:
<ul>
<li>Zavedení JWT, přesun autentizace na server</li>
<li>Oprava pádu v případě, že ve Sladovnické daný den nic není</li>
<li>Podpora situace, kdy ve Sladovnické je méně než 3 hlavní jídla</li>
<li>Oprava parsování cen z TechTower v případě použití nedělitelných mezer</li>
<li>Oprava parsování při neočekávané velikosti písmen v ceně</li>
<li>Přidání nedělitelných mezer k cenám</li>
</ul>
</Alert>
<h1 className='title'>Dnes je {data.date}</h1>

View File

@ -82,25 +82,25 @@ export const getMenuSladovnicka = async (date: Date = new Date(), mock: boolean
{
amount: "0,25l",
name: "Zelná polévka s klobásou",
price: "35 Kč",
price: "35\xA0Kč",
isSoup: true,
},
{
amount: "150g",
name: "Hovězí na česneku s bramborovým knedlíkem",
price: "135 Kč",
price: "135\xA0Kč",
isSoup: false,
},
{
amount: "250g",
name: "Přírodní holandský řízek s bramborovou kaší, rajčatový salát",
price: "135 Kč",
price: "135\xA0Kč",
isSoup: false,
},
{
amount: "350g",
name: "Bagel s vinnou klobásou, cibulový konfit, kysané zelí, slanina a hořčicová mayo, hranolky, curry omáčka",
price: "135 Kč",
price: "135\xA0Kč",
isSoup: false,
}
]
@ -165,7 +165,7 @@ export const getMenuSladovnicka = async (date: Date = new Date(), mock: boolean
results.push({
amount: sanitizeText($(soupCells.get(0)).text()),
name: sanitizeText($(soupCells.get(1)).text()),
price: sanitizeText($(soupCells.get(2)).text()),
price: sanitizeText($(soupCells.get(2)).text().replace(' ', '\xA0')),
isSoup: true,
});
// Hlavní jídla - div -> table -> tbody -> 3x tr
@ -182,7 +182,7 @@ export const getMenuSladovnicka = async (date: Date = new Date(), mock: boolean
results.push({
amount: sanitizeText($(foodCells.get(0)).text()),
name: sanitizeText($(foodCells.get(1)).text()),
price: sanitizeText($(foodCells.get(2)).text()),
price: sanitizeText($(foodCells.get(2)).text().replace(' ', '\xA0')),
isSoup: false,
});
})
@ -202,25 +202,25 @@ export const getMenuUMotliku = async (date: Date = new Date(), mock: boolean = f
{
amount: "0,33l",
name: "Hovězí vývar s nudlemi",
price: "35 Kč",
price: "35\xA0Kč",
isSoup: true,
},
{
amount: "150g",
name: "Opečený párek, čočka, sázené vejce, okurka",
price: "135 Kč",
price: "135\xA0Kč",
isSoup: false,
},
{
amount: "150g",
name: "Hovězí líčka na červeném víně, bramborová kaše",
price: "145 Kč",
price: "145\xA0Kč",
isSoup: false,
},
{
amount: "150g",
name: "Tortilla s trhaným kuřecím masem, uzeným sýrem, dipem a kukuřicí, míchaný salát",
price: "135 Kč",
price: "135\xA0Kč",
isSoup: false,
},
@ -266,7 +266,7 @@ export const getMenuUMotliku = async (date: Date = new Date(), mock: boolean = f
}
const amount = sanitizeText($(children.get(0)).text());
const name = sanitizeText($(children.get(1)).text());
const price = sanitizeText($(children.get(2)).text()).replace(',-', '');
const price = sanitizeText($(children.get(2)).text()).replace(',-', '').replace(' ', '\xA0');
results.push({
amount,
name,
@ -292,19 +292,19 @@ export const getMenuTechTower = async (date: Date = new Date(), mock: boolean =
{
amount: "-",
name: "Bavorská gulášová polévka s kroupami",
price: "40 Kč",
price: "40\xA0Kč",
isSoup: true,
},
{
amount: "-",
name: "Vepřové výpečky, kedlubnové zelí, bramborový knedlík",
price: "120 Kč",
price: "120\xA0Kč",
isSoup: false,
},
{
amount: "-",
name: "Hambuger Black Angus s čedarem a slaninou, cibulové kroužky",
price: "220 Kč",
price: "220\xA0Kč",
isSoup: false,
}
]
@ -347,10 +347,10 @@ export const getMenuTechTower = async (date: Date = new Date(), mock: boolean =
}
let price = '? Kč';
let name = text;
if (text.endsWith('Kč')) {
if (text.toLowerCase().endsWith('kč')) {
const tmp = text.replace('\xA0', ' ').split(' ');
const split = [tmp.slice(0, -2).join(' ')].concat(tmp.slice(-2));
price = split.slice(1).join(" ")
price = `${split.slice(1)[0]}\xA0Kč`
name = split[0]
}
results.push({