Podpora mock dat pro vývoj o víkendech

This commit is contained in:
2023-06-03 09:24:36 +02:00
parent b438d2112a
commit c814624dbc
10 changed files with 58 additions and 17 deletions

View File

@@ -12,9 +12,10 @@ app.add_middleware(
)
@app.get("/")
def read_root():
def read_root(mock: bool = False):
return {
'sladovnicka': getMenuSladovnicka(),
'uMotliku:': getMenuUMotliku(),
'techTower': getMenuTechTower()
'sladovnicka': getMenuSladovnicka(mock),
# TODO opravit dvojtečku!
'uMotliku:': getMenuUMotliku(mock),
'techTower': getMenuTechTower(mock)
}

View File

@@ -96,7 +96,14 @@ def printMenu(name: str, foodList: List[Food]):
print('\n')
def getMenuSladovnicka() -> List[Food]:
def getMenuSladovnicka(mock: bool = False) -> List[Food]:
if mock:
foodList: List[Food] = []
foodList.append(Food("Zelná polévka s klobásou", "0,25l", "35 Kč", True))
foodList.append(Food("Hovězí na česneku s bramborovým knedlíkem", "150g", "135 Kč"))
foodList.append(Food("Přírodní holandský řízek s bramborovou kaší, rajčatový salát", "250g", "135 Kč"))
foodList.append(Food("Bagel s vinnou klobásou, cibulový konfit, kysané zelí, slanina a hořčicová mayo, hranolky, curry omáčka", "350g", "135 Kč"))
return foodList
html = getOrDownloadHtml('sladovnicka', URL_SLADOVNICKA)
soup = BeautifulSoup(html, "html.parser")
div = soup.select_one("div.tab-pane.fade.in.active")
@@ -137,7 +144,14 @@ def getMenuSladovnicka() -> List[Food]:
return foodList
def getMenuUMotliku() -> List[Food]:
def getMenuUMotliku(mock: bool = False) -> List[Food]:
if mock:
foodList: List[Food] = []
foodList.append(Food("Hovězí vývar s nudlemi", "0,33l", "35 Kč", True))
foodList.append(Food("Opečený párek, čočka, sázené vejce, okurka", "150g", "135 Kč"))
foodList.append(Food("Hovězí líčka na červeném víně, bramborová kaše", "150g", "145 Kč"))
foodList.append(Food("Tortilla s trhaným kuřecím masem, uzeným sýrem, dipem a kukuřicí, míchaný salát", "150g", "135 Kč"))
return foodList
html = getOrDownloadHtml('u_motliku', URL_MOTLICI)
soup = BeautifulSoup(html, "html.parser")
table = soup.find("table", {"class": "Xtable-striped"})
@@ -175,7 +189,13 @@ def getMenuUMotliku() -> List[Food]:
return foodList
def getMenuTechTower() -> List[Food]:
def getMenuTechTower(mock: bool = False) -> List[Food]:
if mock:
foodList: List[Food] = []
foodList.append(Food("Bavorská gulášová polévka s kroupami", "-", "40 Kč", True))
foodList.append(Food("Vepřové výpečky, kedlubnové zelí, bramborový knedlík", "-", "120 Kč"))
foodList.append(Food("Hambuger Black Angus s čedarem a slaninou, cibulové kroužky", "-", "220 Kč"))
return foodList
html = getOrDownloadHtml('techtower', URL_TECHTOWER)
soup = BeautifulSoup(html, "html.parser")
fonts = soup.find_all("font", {"class": ["wsw-41"]})
@@ -189,7 +209,7 @@ def getMenuTechTower() -> List[Food]:
siblings = font.parent.parent.find_next_siblings("p")
# dayNumber = date.today().strftime("%w")
currentDayName = getDayNameOfDate(datetime.datetime.now())
foodList = []
foodList: List[Food] = []
doParse = False
for i in range(0, len(siblings)):
text = siblings[i].text.strip().replace('\t', '').replace('\n', ' ')