From 7d07052af11607063674eded9b7c413edae7a7b9 Mon Sep 17 00:00:00 2001 From: Florian Fish Date: Fri, 1 Dec 2023 09:16:40 +0100 Subject: [PATCH 1/5] Create vernsurseiche_info.py --- .../source/vernsurseiche_info.py | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 custom_components/waste_collection_schedule/waste_collection_schedule/source/vernsurseiche_info.py diff --git a/custom_components/waste_collection_schedule/waste_collection_schedule/source/vernsurseiche_info.py b/custom_components/waste_collection_schedule/waste_collection_schedule/source/vernsurseiche_info.py new file mode 100644 index 000000000..b92da02f8 --- /dev/null +++ b/custom_components/waste_collection_schedule/waste_collection_schedule/source/vernsurseiche_info.py @@ -0,0 +1,79 @@ +import datetime +import requests +from bs4 import BeautifulSoup +from waste_collection_schedule import Collection + +TITLE = "Mairie de Vern sur Seiche" +DESCRIPTION = "Poubelle jaune tous les jeudis des semaines impaires, Poubelle grise tous les lundi. Lorsque le lundi ou le jeudi est un jour férié, les deux sont décalées d'un jour" +COUNTRY = "fr" +URL = "https://www.vernsurseiche.fr/accueil/cadre-de-vie/proprete-dechets/collecte-des-dechets" + +ICON_MAP = { + "Poubelle grise": "mdi:trash-can", + "Poubelle jaune": "mdi:recycle", +} + +MONTH_NAMES = [ + "janvier", + "février", + "mars", + "avril", + "mai", + "juin", + "juillet", + "août", + "septembre", + "octobre", + "novembre", + "décembre", +] + +class Source: + def fetch(self): + now = datetime.datetime.now() + + # Determine the waste type based on the current day + waste_type = None + if now.weekday() == 0: # Monday + waste_type = "Poubelle grise" + elif now.weekday() == 3 and now.isocalendar()[1] % 2 == 1: # Thursday and odd week + waste_type = "Poubelle jaune" + + if waste_type: + # Adjustments for special cases in 2023 + if waste_type == "Poubelle jaune" and day == "17" and month == "août": + day = "18" + elif waste_type == "Poubelle grise" and day == "25" and month == "décembre": + day = "26" + + # Adjustments for special cases in 2024 + if waste_type == "Poubelle grise" and day == "1" and month == "janvier": + day = "2" + elif waste_type == "Poubelle grise" and day == "1" and month == "avril": + day = "2" + elif waste_type == "Poubelle grise" and day == "20" and month == "mai": + day = "21" + elif waste_type == "Poubelle jaune" and day == "4" and month == "janvier": + day = "5" + elif waste_type == "Poubelle jaune" and day == "9" and month == "mai": + day = "10" + elif waste_type == "Poubelle jaune" and day == "23" and month == "mai": + day = "24" + elif waste_type == "Poubelle jaune" and day == "15" and month == "août": + day = "16" + + date_collection = now.replace(month=MONTH_NAMES.index(month), day=int(day)).date() + if date_collection < now.date(): + date_collection = date_collection.replace(year=date_collection.year + 1) + + entries = [ + Collection( + date=date_collection, + t=waste_type, + icon=ICON_MAP.get(waste_type), + ) + ] # List that holds collection schedule + + return entries + else: + return [] From aee9febe25bfcc968948021f8a1301b53913e062 Mon Sep 17 00:00:00 2001 From: Florian Fish Date: Fri, 1 Dec 2023 09:18:01 +0100 Subject: [PATCH 2/5] Create vernsurseiche_info.py --- doc/source/vernsurseiche_info.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 doc/source/vernsurseiche_info.py diff --git a/doc/source/vernsurseiche_info.py b/doc/source/vernsurseiche_info.py new file mode 100644 index 000000000..5a96e34e6 --- /dev/null +++ b/doc/source/vernsurseiche_info.py @@ -0,0 +1,17 @@ +# Mairie de Vern-sur-Seiche / Corps-Nuds / Nouvoitou / Saint-Armel + +Support for Mairie de Vern-sur-Seiche / Corps-Nuds / Nouvoitou / Saint-Armel in France + +## Configuration via configuration.yaml + +```yaml +waste_collection_schedule: + sources: + - name: vernsurseiche_info +``` +## Sensor setup + +There are following types of garbage parsed: + +- Poubelle grise +- Poubelle jaune From a765025e9f3c46579fda1c909051119fee618dcd Mon Sep 17 00:00:00 2001 From: Florian Fish Date: Fri, 1 Dec 2023 09:19:53 +0100 Subject: [PATCH 3/5] Update info.md --- info.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/info.md b/info.md index 7e38e69a6..b5cf93917 100644 --- a/info.md +++ b/info.md @@ -21,7 +21,7 @@ Waste collection schedules from service provider web sites are updated daily, de | Belgium | Hygea, Limburg.net, Recycle! | | Canada | Aurora (ON), Calgary (AB), Calgary, AB, City of Edmonton, AB, City of Greater Sudbury, ON, City of Peterborough, ON, London (ON), Ottawa, Canada, RM of Morris, MB, Strathcona County, ON, Toronto (ON), Waste Wise APPS | | Denmark | Renosyd | -| France | Mairie de Mamirolle | +| France | Mairie de Mamirolle, Mairie de Vern-sur-Seiche / Corps-Nuds / Nouvoitou / Saint-Armel | | Germany | Abfall App, Abfall Stuttgart, Abfall-Wirtschafts-Verband Nordschwaben, Abfall.IO / AbfallPlus, Abfallbehandlungsgesellschaft Havelland mbH (abh), Abfallbewirtschaftung Ostalbkreis, Abfallentsorgung Kreis Kassel, Abfallkalender Offenbach am Main, Abfallkalender Würzburg, AbfallNavi (RegioIT.de), Abfalltermine Forchheim, Abfallwirtschaft Alb-Donau-Kreis, Abfallwirtschaft Altkreis Göttingen, Abfallwirtschaft Altkreis Osterode am Harz, Abfallwirtschaft Enzkreis, Abfallwirtschaft Freiburg, Abfallwirtschaft Germersheim, Abfallwirtschaft Isar-Inn, Abfallwirtschaft Lahn-Dill-Kreises, Abfallwirtschaft Landkreis Böblingen, Abfallwirtschaft Landkreis Freudenstadt, Abfallwirtschaft Landkreis Harburg, Abfallwirtschaft Landkreis Haßberg, Abfallwirtschaft Landkreis Kitzingen, Abfallwirtschaft Landkreis Landsberg am Lech, Abfallwirtschaft Landkreis Wolfenbüttel, Abfallwirtschaft Neckar-Odenwald-Kreis, Abfallwirtschaft Nürnberger Land, Abfallwirtschaft Ortenaukreis, Abfallwirtschaft Pforzheim, Abfallwirtschaft Potsdam-Mittelmark (APM), Abfallwirtschaft Rems-Murr, Abfallwirtschaft Rendsburg, Abfallwirtschaft Rheingau-Taunus-Kreis, Abfallwirtschaft Stadt Fürth, Abfallwirtschaft Stadt Nürnberg, Abfallwirtschaft Stadt Schweinfurt, Abfallwirtschaft Südholstein, Abfallwirtschaft Werra-Meißner-Kreis, Abfallwirtschaft Zollernalbkreis, Abfallwirtschafts-Zweckverband des Landkreises Hersfeld-Rotenburg, Abfallwirtschaftsbetrieb Bergisch Gladbach, Abfallwirtschaftsbetrieb Emsland, Abfallwirtschaftsbetrieb Esslingen, Abfallwirtschaftsbetrieb Ilm-Kreis, Abfallwirtschaftsbetrieb Kiel (ABK), Abfallwirtschaftsbetrieb Landkreis Ahrweiler, Abfallwirtschaftsbetrieb Landkreis Altenkirchen, Abfallwirtschaftsbetrieb Landkreis Augsburg, Abfallwirtschaftsbetrieb Landkreis Aurich, Abfallwirtschaftsbetrieb Landkreis Karlsruhe, Abfallwirtschaftsbetrieb LK Mainz-Bingen, Abfallwirtschaftsbetrieb München, Abfallwirtschaftsbetriebe Münster, Abfallwirtschaftsgesellschaft Landkreis Schaumburg, Abfallwirtschaftsverband Kreis Groß-Gerau, Abfallwirtschaftsverbandes Lippe, Abfallwirtschaftszweckverband Wartburgkreis (AZV), Abfallzweckverband Rhein-Mosel-Eifel (Landkreis Mayen-Koblenz), AHE Ennepe-Ruhr-Kreis, ALBA Berlin, ALBA Braunschweig, ALF Lahn-Fulda, Altmarkkreis Salzwedel, Altötting (LK), Apps by Abfall+, ART Trier, Aschaffenburg (MyMuell App), ASG Wesel, ASO Abfall-Service Osterholz, ASR Stadt Chemnitz, ATHOS GmbH, Augsburg, Aurich (MKW), AVL - Abfallverwertungsgesellschaft des Landkreises Ludwigsburg mbH, AWA Entsorgungs GmbH, AWB Abfallwirtschaft Vechta, AWB Bad Kreuznach, AWB Köln, AWB Landkreis Bad Dürkheim, AWB Landkreis Fürstenfeldbruck, AWB Landkreis Göppingen, AWB Oldenburg, AWB Westerwaldkreis, AWG Donau-Wald, AWG Kreis Warendorf, AWIDO Online, AWIGO Abfallwirtschaft Landkreis Osnabrück GmbH, AWISTA Düsseldorf, Awista Starnberg, Bad Arolsen (MyMuell App), Bad Homburg vdH, Bad Kissingen, Barnim, Bau & Service Oberursel, Bergischer Abfallwirtschaftverbund, Berlin, Berlin Recycling, Berliner Stadtreinigungsbetriebe, Beverungen (MyMuell App), Bielefeld, Blaue Tonne - Schlaue Tonne, Bogenschütz Entsorgung, Bonn, Braunschweig, Bremer Stadtreinigung, Burgenland (Landkreis), Bürgerportal, C-Trace, Cederbaum Braunschweig, Cham Landkreis, Chemnitz (ASR), Chiemgau Recycling - Landkreis Rosenheim, City of Karlsruhe, CM City Media - Müllkalender, Darmstadt (MyMuell App), Darmstadt-Dieburg (ZAW), Dillingen Saar, Dinslaken, Drekopf, Duisburg, EAD Darmstadt, EDG Entsorgung Dortmund, EGN Abfallkalender, EGST Steinfurt, EGW Westmünsterland, Eichsfeldwerke GmbH, Eigenbetrieb Kommunalwirtschaftliche Dienstleistungen Suhl, Entsorgungs- und Wirtschaftsbetrieb Landau in der Pfalz, Entsorgungsbetrieb Märkisch-Oderland, Entsorgungsbetrieb Stadt Mainz, Entsorgungsbetriebe Essen, Entsorgungsgesellschaft Görlitz-Löbau-Zittau, Esens (MyMuell App), Essen, EVA Abfallentsorgung, EVS Entsorgungsverband Saar, FES Frankfurter Entsorgungs- und Service GmbH, Flensburg (MyMuell App), Frankfurt (Oder), Freiburg im Breisgau, Gelsendienste Gelsenkirchen, Gemeinde Aschheim, Gemeinde Blankenheim, Gemeinde Bühlerzell, Gemeinde Deggenhausertal, Gemeinde Kalletal, Gemeinde Kappelrodeck, Gemeinde Lindlar, Gemeinde Mittelbiberach, Gemeinde Oberstadion, Gemeinde Roetgen, Gemeinde Schutterwald, Gemeinde Senden (Westfalen), Gemeinde Unterhaching, Großkrotzenburg (MyMuell App), Göttinger Entsorgungsbetriebe, Gütersloh, Hagen, Hainburg (MyMuell App), Hallesche Wasser und Stadtwirtschaft GmbH, Halver, Hattersheim am Main, hausmüll.info, Havelland, Heilbronn Entsorgungsbetriebe, Hohenlohekreis, Hohenlohekreis, Holtgast (MyMuell App), Ilm-Kreis, Ingolstadt, Jumomind, KAEV Niederlausitz, Kamp-Lintfort (MyMuell App), Kirchdorf (MyMuell App), Kommunalservice Landkreis Börde AöR, Kreis Augsburg, Kreis Bad Kissingen, Kreis Bautzen, Kreis Bayreuth, Kreis Bergstraße, Kreis Breisgau-Hochschwarzwald, Kreis Calw, Kreis Cloppenburg, Kreis Coesfeld, Kreis Cuxhaven, Kreis Diepholz, Kreis Emmendingen, Kreis Emsland, Kreis Freudenstadt, Kreis Fürth, Kreis Garmisch-Partenkirchen, Kreis Göppingen, Kreis Heilbronn, Kreis Heinsberg, Kreis Karlsruhe, Kreis Kitzingen, Kreis Landsberg am Lech, Kreis Landshut, Kreis Limburg-Weilburg, Kreis Ludwigsburg, Kreis Lörrach, Kreis Mayen-Koblenz, Kreis Miesbach, Kreis Miltenberg, Kreis Märkisch-Oderland, Kreis Neustadt/Aisch-Bad Windsheim, Kreis Neuwied, Kreis Nienburg / Weser, Kreis Nordfriesland, Kreis Ostallgäu, Kreis Osterholz, Kreis Pinneberg, Kreis Rastatt, Kreis Ravensburg, Kreis Reutlingen, Kreis Rotenburg (Wümme), Kreis Schaumburg, Kreis Sigmaringen, Kreis Starnberg, Kreis Steinfurt, Kreis Südwestpfalz, Kreis Traunstein, Kreis Trier-Saarburg, Kreis Uelzen, Kreis Vechta, Kreis Viersen, Kreis Vorpommern-Rügen, Kreis Weißenburg-Gunzenhausen, Kreis Wesermarsch, Kreis Würzburg, Kreisstadt Dietzenbach, Kreisstadt Friedberg, Kreisstadt Groß-Gerau, Kreisstadt St. Wendel, Kreiswerke Schmalkalden-Meiningen GmbH, Kreiswirtschaftsbetriebe Goslar, Kronberg im Taunus, KV Cochem-Zell, KWU Entsorgung Landkreis Oder-Spree, Landkreis Anhalt-Bitterfeld, Landkreis Ansbach, Landkreis Aschaffenburg, Landkreis Aschaffenburg (MyMuell App), Landkreis Bayreuth, Landkreis Berchtesgadener Land, Landkreis Biberach (MyMuell App), Landkreis Böblingen, Landkreis Böblingen, Landkreis Börde AöR (KsB), Landkreis Calw, Landkreis Coburg, Landkreis Eichstätt (MyMuell App), Landkreis Erding, Landkreis Erlangen-Höchstadt, Landkreis Esslingen, Landkreis Friesland (MyMuell App), Landkreis Fulda, Landkreis Gießen, Landkreis Gotha, Landkreis Görlitz, Landkreis Günzburg, Landkreis Hameln-Pyrmont, Landkreis Heilbronn, Landkreis Kelheim, Landkreis Kronach, Landkreis Kulmbach, Landkreis Kusel, Landkreis Leer (MyMuell App), Landkreis Leipzig, Landkreis Limburg-Weilburg, Landkreis Lüchow-Dannenberg, Landkreis Main-Spessart, Landkreis Mettmann (MyMuell App), Landkreis Mühldorf a. Inn, Landkreis Nordwestmecklenburg, Landkreis Northeim (unofficial), Landkreis Ostallgäu, Landkreis Paderborn (MyMuell App), Landkreis Ravensburg, Landkreis Rhön Grabfeld, Landkreis Rosenheim, Landkreis Rotenburg (Wümme), Landkreis Roth, Landkreis Roth, Landkreis Schweinfurt, Landkreis Schwäbisch Hall, Landkreis Schwäbisch Hall, Landkreis Sigmaringen, Landkreis soest, Landkreis Stade, Landkreis Stendal, Landkreis Südliche Weinstraße, Landkreis Tirschenreuth, Landkreis Tübingen, Landkreis Weißenburg-Gunzenhausen, Landkreis Wittmund, Landkreis Wittmund (MyMuell App), Landkreis Wittmund (MyMuell App), Landkreis Wunsiedel im Fichtelgebirge, Landkreisbetriebe Neuburg-Schrobenhausen, Landratsamt Aichach-Friedberg, Landratsamt Bodenseekreis, Landratsamt Dachau, Landratsamt Main-Tauber-Kreis, Landratsamt Traunstein, Landratsamt Unterallgäu, Landshut, Lebacher Abfallzweckverband (LAZ), Leverkusen, Ludwigshafen, Ludwigshafen am Rhein, Lübbecke (Jumomind), Lübeck Entsorgungsbetriebe, mags Mönchengladbacher Abfall-, Grün- und Straßenbetriebe AöR, Main-Kinzig-Kreis (MyMuell App), Mannheim, Mechernich und Kommunen, Mein-Abfallkalender.de, Metzingen, Minden, MZV Biedenkopf, Mühlheim am Main (MyMuell App), Müllabfuhr Deutschland, MüllALARM / Schönmackers, Müllmax, München Landkreis, Neckar-Odenwald-Kreis, Nenndorf (MyMuell App), Neumünster (MyMuell App), Neunkirchen Siegerland, Neustadt a.d. Waldnaab, Neustadt an der Weinstraße, Nordsachsen, Oberhavel, Oberhavel AWU, Oldenburg, Ortenaukreis, Ostprignitz-Ruppin, Potsdam, Prignitz, Prignitz, Pullach im Isartal, Recklinghausen, RegioEntsorgung AöR, RegioEntsorgung Städteregion Aachen, Rhein-Hunsrück (Jumomind), Rhein-Hunsrück Entsorgung (RHE), Rhein-Neckar-Kreis, Rhein-Neckar-Kreis, Rhein-Pfalz-Kreis, Rottweil, Rottweil, RSAG Rhein-Sieg-Kreis, Salzgitter (MyMuell App), Salzlandkreis, Schmitten im Taunus (MyMuell App), Schwarze Elster, Schwarzwald-Baar-Kreis, Schöneck (MyMuell App), Schönmackers, Sector 27 - Datteln, Marl, Oer-Erkenschwick, Seligenstadt (MyMuell App), Stadt Aachen, Stadt Arnsberg, Stadt Bayreuth, Stadt Cottbus, Stadt Darmstadt, Stadt Detmold, Stadt Dorsten, Stadt Ehingen, Stadt Emden, Stadt Emmendingen, Stadt Fulda, Stadt Haltern am See, Stadt Hamm, Stadt Hanau, Stadt Kaufbeuren, Stadt Koblenz, Stadt Kraichtal, Stadt Landshut, Stadt Maintal, Stadt Memmingen, Stadt Messstetten, Stadt Norderstedt, Stadt Osnabrück, Stadt Overath, Stadt Regensburg, Stadt Solingen, Stadt Unterschleißheim, Stadtbetrieb Frechen, Stadtbildpflege Kaiserslautern, Stadtentsorgung Rostock, Stadtreinigung Dresden, Stadtreinigung Hamburg, Stadtreinigung Leipzig, Stadtreinigung Leipzig, StadtService Brühl, Stadtwerke Erfurt, SWE, STL Lüdenscheid, Städteservice Raunheim Rüsselsheim, Südbrandenburgischer Abfallzweckverband, TBR Remscheid, TBV Velbert, Technischer Betriebsdienst Reutlingen, Tuttlingen, Tuttlingen, Tübingen, Uckermark, Ulm (MyMuell App), USB Bochum, Usingen (MyMuell App), VIVO Landkreis Miesbach, Volkmarsen (MyMuell App), Vöhringen (MyMuell App), Waldshut, Waldshut, WBO Wirtschaftsbetriebe Oberhausen, Wegberg (MyMuell App), Wermelskirchen, Westerholt (MyMuell App), Westerwaldkreis, WGV Recycling GmbH, Wilhelmshaven (MyMuell App), Wolfsburger Abfallwirtschaft und Straßenreinigung, WZV Kreis Segeberg, Würzburg, ZAH Hildesheim, ZAK Kempten, ZAW-SR Straubing, ZEW Zweckverband Entsorgungsregion West, ZfA Iserlohn, Zollernalbkreis, Zweckverband Abfallwirtschaft Kreis Bergstraße, Zweckverband Abfallwirtschaft Oberes Elbtal, Zweckverband Abfallwirtschaft Region Hannover, Zweckverband Abfallwirtschaft Region Trier (A.R.T.), Zweckverband Abfallwirtschaft Saale-Orla, Zweckverband Abfallwirtschaft Schwalm-Eder-Kreis, Zweckverband Abfallwirtschaft Südwestsachsen (ZAS), Zweckverband München-Südost | | Hungary | FKF Budapest, FKF Budaörs, ÉTH (Érd, Diósd, Nagytarcsa, Sóskút, Tárnok) | | Lithuania | Kauno švara | From dfd8c1a10fac64e342436f68ad7d8721b980f275 Mon Sep 17 00:00:00 2001 From: Florian Fish Date: Fri, 1 Dec 2023 09:21:31 +0100 Subject: [PATCH 4/5] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9d9737d6f..642b620af 100644 --- a/README.md +++ b/README.md @@ -371,6 +371,7 @@ Waste collection schedules in the following formats and countries are supported. France - [Mairie de Mamirolle](/doc/source/mamirolle_info.md) / mamirolle.info +- [Mairie de Vern-sur-Seiche / Corps-Nuds / Nouvoitou / Saint-Armel](/doc/source/vernsurseiche_info.md) / vernsurseiche_info
From 21d2b696ac147186e46970e028091e3421d7b714 Mon Sep 17 00:00:00 2001 From: Florian Fish Date: Fri, 1 Dec 2023 09:21:49 +0100 Subject: [PATCH 5/5] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 642b620af..2a9ef3973 100644 --- a/README.md +++ b/README.md @@ -371,7 +371,7 @@ Waste collection schedules in the following formats and countries are supported. France - [Mairie de Mamirolle](/doc/source/mamirolle_info.md) / mamirolle.info -- [Mairie de Vern-sur-Seiche / Corps-Nuds / Nouvoitou / Saint-Armel](/doc/source/vernsurseiche_info.md) / vernsurseiche_info +- [Mairie de Vern-sur-Seiche / Corps-Nuds / Nouvoitou / Saint-Armel](/doc/source/vernsurseiche_info.md) / vernsurseiche.info