Bugfix - Check for spätzle on current day only rather than full week

This commit is contained in:
Philipp Traber
2024-09-11 15:55:58 +02:00
parent e8e40e6eb1
commit 4f4ec345fb
4 changed files with 30 additions and 11 deletions
+1
View File
@@ -0,0 +1 @@
.venv
+1
View File
@@ -2,3 +2,4 @@ fastapi[standard]==0.114.0
Jinja2==3.1.4
requests==2.32.3
cachetools==5.5.0
beautifulsoup4==4.12.3
+18 -6
View File
@@ -2,8 +2,10 @@ from fastapi import FastAPI
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
import requests
from cachetools import cached, TTLCache
from bs4 import BeautifulSoup
import requests
cache = TTLCache(maxsize=1, ttl=3600)
app = FastAPI()
@@ -12,13 +14,23 @@ templates = Jinja2Templates(directory="template")
@cached(cache)
def checkMensa():
print("Checking Mensa")
url = 'https://seezeit.com/essen/speiseplaene/mensa-giessberg/'
r = requests.get(url)
text = r.text
pos = text.find('Spätzle')
if pos != -1:
cut = r.text[r.text.find('Spätzle'):r.text.find('Spätzle')+50]
ingredients = cut.split('(')[1].split(')')[0].split(',')
soup = BeautifulSoup(r.text, 'html.parser')
today = soup.find('a', class_='heute')['rel'][0]
today_menu = soup.find('div', id=f'tab{today}')
meals = today_menu.find_all('div', class_='title')
spaetzle = None
for m in meals:
if "Spätzle" in m.text:
spaetzle = m
break
if spaetzle is not None:
ingredients = spaetzle.find('sup').text
if '28' in ingredients:
answer = "Spätzle with egg today"
color = "green"
+9 -4
View File
@@ -7,10 +7,10 @@
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<title>{{text}} - {{emoji}}</title>
<title>{{text}} - {{emoji}}</title>
<style>
body {
background-color: {{ color}};
background-color: {{ color }};
color: #f0f0f0;
font-family: Roboto,
sans-serif;
@@ -40,7 +40,9 @@
color: #f0f0f0;
padding: 10px;
text-align: center;
font-size: smaller;
}
span {
background-color: salmon;
padding: 5px;
@@ -48,6 +50,7 @@
border-radius: 5px;
color: white;
}
a {
text-decoration: none;
color: white;
@@ -68,8 +71,10 @@
<a href="https://kubernetes.io/de/"><span>k8s</span></a>
<a href="https://fastapi.tiangolo.com/"><span>fastapi</span></a>
<a href="https://github.com/traberph/mensa-check"><span>github</span></a>
<a href="https://seezeit.com/essen/speiseplaene/mensa-giessberg/"><span>seezeit</span></a></p>
<p>Imprint: <a href="https://github.com/traberph">Philipp Traber</a></p>
<a href="https://seezeit.com/essen/speiseplaene/mensa-giessberg/"><span>seezeit</span></a>
</p>
<p>Imprint: <a href="https://github.com/traberph">Philipp Traber</a>; Legal Notice: Not associated with seezeit
</p>
</footer>
</body>