Browse Source

fixed mensa with given day

master
Angerstoner 5 years ago
parent
commit
be33a203c9
  1. 35
      mensa.py

35
mensa.py

@ -17,6 +17,7 @@ WEEKDAYS = {
"donnerstag": 4,
"freitag": 5,
"samstag": 6,
"sonntag": 7
}
MENSA_URL = {
@ -73,9 +74,8 @@ def mensa(bot, update, args):
return
which = "zentral"
filter_categories = MODES["light"]
auto_next_day = True
today = datetime.datetime.now().date()
if datetime.datetime.now().time() > datetime.time(hour=16):
today += datetime.timedelta(days=1)
for arg in args:
arg = arg.lower()
@ -84,15 +84,21 @@ def mensa(bot, update, args):
elif arg in MODES:
filter_categories = MODES[arg]
elif arg in WEEKDAYS:
today = WEEKDAYS[arg]
date_offset = (6 - today.weekday() + WEEKDAYS[arg])
today += datetime.timedelta(days=date_offset)
auto_next_day = False
# elif arg in DIETS:
# diet = DIETS[arg]
else:
update.message.reply_text("Falscher Aufruf! RTFM und versuchs nochmal.")
return
# if today == 0:
# update.message.reply_text("Sonntags hat die Mensa zu")
# return
if auto_next_day and datetime.datetime.now().time() > datetime.time(hour=16):
today += datetime.timedelta(days=1)
if today.weekday() == 6:
update.message.reply_text("Sonntags hat die Mensa zu")
return
url = "https://app.mensaplan.de/api/11102/de.mensaplan.app.android.goettingen/%s.json" % MENSA_URL[which]
request = requests.get(url)
@ -100,13 +106,16 @@ def mensa(bot, update, args):
data = request.json()
today_data = get_data_for_day(today, data)
message = "Das Essen für %s in der %s \n\n" % (today_data["date"], MENSA_NAME[which])
for cat in today_data['categories']:
if cat['name'] not in filter_categories:
meal_line = "*%s*\n" % cat['name']
for meal in cat['meals']:
meal_line += meal['name'].strip() + "\n"
message += meal_line + '\n'
if not today_data:
message = today.strftime("Kein Speiseplan für den %d.%m.%Y vorhanden")
else:
message = "Das Essen für %s in der %s \n\n" % (today_data["date"], MENSA_NAME[which])
for cat in today_data['categories']:
if cat['name'] not in filter_categories:
meal_line = "*%s*\n" % cat['name']
for meal in cat['meals']:
meal_line += meal['name'].strip() + "\n"
message += meal_line + '\n'
update.message.reply_text(message, ParseMode.MARKDOWN)

Loading…
Cancel
Save