Sign inSign up

boriswde/zakb_ical_dl

By boriswde

Updated about 5 years ago

ICS / Ical Download der Jahresübersicht Zweckverband Abfallwirtschaft Kreis Bergstraße

Image
0

458

boriswde/zakb_ical_dl repository overview

zakb Jahreskalender Downoad

Docker Container für ICS / Ical Download

Wer in der Gegend um Viernheim lebt und den Ical Kalender für eine Hausautomation wie bspw ioBroker braucht, der kann leider nicht direkt ein ICS File mit den Abholterminen runterladen. Das liegt an der seltsamen Umsetzung des Downloads von zakb mit einem Typo3 Formular, welches auch noch mit Sessions arbeitet. Eigentlich sollte das nur einmal im Jahr notwendig sein aber es ging mir auf den Keks, das bei jeder Neuinstallation zu machen. Daher hier als Docker Version. Damit kann man das einfach zusammen mit ioBroker, HomeAssistant oder sonst was, in ein docker-compose File packen und gut ist. Damit ist auch ein Backup und dessen Wiederherstellung kein Problem mehr. Da ich als Familien-Admin jetzt auch nicht überall einfach nur eine Datei ablegen will, habe ich den Container erstellt.

Features

  • Läuft in einer Schleife und ruft einmal täglich die Datei für das aktuelle Jahr ab
  • Sollte die zakb Seite (mal wieder) spinnen, dann wird nach einer Stunde wieder versucht
  • Konstanter Dateiname calendar.ics
  • Kopie pro Jahr (bspw aktuelles Jahr wird als calendar.ics gespeichert. Zusätzlich wird noch ein calendar_2021.ics abgelegt und bleibt bestehen, auch in 2022)
  • Konfiguration der Adresse über Umgebungsvariablen

Docker

Dockerfile
FROM python:3

WORKDIR /usr/src/app
ENV ENV_CITY Viernheim
ENV ENV_STREET Am Hofböhl
ENV ENV_HOUSENO 1
VOLUME /usr/src/app/calendarfiles


COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD [ "python", "-u", "./muell.py" ]

Einfach die ENV Variablen auf die aktuelle Adresse setzen und die calendar.ics Datei auf eine lokale Datei mappen. Dann wird einmal täglich eine neue Kopie des aktuellen Jahreskalenders heruntergeladen. Im Fehlerfall wird nach 60 Minuten nochmal versucht.

Starten mit Folgendem, um bspw NUR die Straße zu überschreiben. Es muss genauso angegeben werden, wie im Drop-Down auf https://www.zakb.de/online-service/abfallkalender/ d.h. mit Leerzeichen, usw.

docker run -e ENV_STREET=Gottlieb-Daimler-Straße -v /home/boriswde/docker/deleteme:/usr/src/app/calendarfiles boriswde/zakb_ical_dl
Docker compose
version: '2.1'
services:
  muell-kalender:
    image: boriswde/zakb_ical_dl
    container_name: muell-kalender
    environment:
      ENV_CITY: 'Viernheim'
      ENV_STREET: 'Am Hofböhl'
      ENV_HOUSENO: '1'
    volumes:
      - /home/boriswde/docker/deleteme:/usr/src/app/calendarfiles

FAQ

Download funktioniert aber es wird eine text/html Seite zurück gegeben

Die Adresse scheint falsch. Leider gibt es keinerlei sinnvolle Rückmeldung der Webseite, um die zu identifizieren. Ich will jedoch nicht die "option" Tags durchgehen und danach suchen. Sollte der Fall auftreten, dann ist fast sicher die Stadt oder Straße falsch geschrieben. Ggf. gibt es auch die Hausnummer nicht in der Straße.

Tag summary

Content type

Image

Digest

Size

40.4 MB

Last updated

about 5 years ago

docker pull boriswde/zakb_ical_dl