add zva-wmk

This commit is contained in:
Demel75
2022-12-21 18:06:47 +01:00
parent 7f6572321c
commit 239e6c77b5
2 changed files with 73 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
import requests
import datetime
from waste_collection_schedule import Collection # type: ignore[attr-defined]
from waste_collection_schedule.service.ICS import ICS
import urllib
TITLE = "Zweckverband Abfallwirtschaft Werra-Meißner-Kreis"
DESCRIPTION = "Source for Zweckverband Abfallwirtschaft Werra-Meißner-Kreis"
URL = "https://www.zva-wmk.de/"
TEST_CASES = {
"Frankenhain": {"city": "Berkatal - Frankenhain", "street": "Teichhof"},
"Hebenshausen": {"city": "Neu-Eichenberg - Hebenshausen", "street": "Bachstraße"},
"Vockerode": {"city": "Meißner - Vockerode", "street": "Feuerwehr"}
}
class Source:
def __init__(self, city, street):
self._city = city
self._street = street
self._ics = ICS(split_at=" / ")
def fetch(self):
city = self._city.replace('ß', '').upper()
city = city.replace(" - ", "_")
city = city.replace(" ", "+")
city = city.replace("", "ß")
street = self._street
street = street.replace(" ","+")
today = datetime.date.today()
year = today.year
year = 2023
if year == 2022:
yearstr = ""
street = self._street.upper()
else:
yearstr = ("-" + str(year))
payload = {"city": city, "street": street}
urlzva = "https://www.zva-wmk.de/termine/schnellsuche"+yearstr+"&type=all&link=ical&timestart=6&fullday=1&timeend=17&reminder=1440&display=0"
r = requests.get(urlzva, params=payload)
r.encoding = r.apparent_encoding
dates = self._ics.convert(r.text)
entries = []
for d in dates:
entries.append(Collection(d[0], d[1]))
return entries

23
doc/source/zva_wmk_de.md Normal file
View File

@@ -0,0 +1,23 @@
# Zweckverband Abfallwirtschaft Werra-Meißner-Kreis
Support für Werra-Meißner-Kreis located in Hesse, Germany
## Configuration via configuration.yaml
```yaml
waste_collection_schedule:
sources:
- name: zva_wmk_de
args:
city: CITY
street: STREET
```
### Configuration Variables
**city**<br>
*(string) (required)*
**street**<br>
### How to get the source arguments
Visit [zva-wmk.de](https://www.zva-wmk.de/termine/schnellsuche-2023) and search for your locality. Use the value from the "Ort" dropdown as `city` argument and the one from "Ortsteil/Straße" as `street` as shown.