Repository: mampfes/hacs_waste_collection_schedule

Issue:
[Bug]: ART Trier Germany collecting no more Data
### I Have A Problem With:

A specific source

### What's Your Problem

ART Trier Germany collecting no more Data. It worked till yesterday. I think they have a new homepage.
The Calender is now empty, only one Entry on February 26th: A.R.T. Wichtiger Hinweis!
The link (https://www.art-trier.de/cms/abfuhrtermine-1002.html) in the Description for ART Trier doesn't work anymore. Get a 404 Error Page.

Ver. 1.45.1

### Source (if relevant)

art_trier_de

### Logs

```Shell
no relevant logs
```


### Relevant Configuration

```YAML
- name: art_trier_de
      args:
        district: "Fellerich"
        zip_code: "54456"
```


### Checklist Source Error

- [ ] Use the example parameters for your source (often available in the documentation) (don't forget to restart Home Assistant after changing the configuration)
- [X] Checked that the website of your service provider is still working
- [ ] Tested my attributes on the service provider website (if possible)
- [X] I have tested with the latest version of the integration (master) (for HACS in the 3 dot menu of the integration click on "Redownload" and choose master as version)

### Checklist Sensor Error

- [X] Checked in the Home Assistant Calendar tab if the event names match the types names (if types argument is used)

### Required

- [X] I have searched past (closed AND opened) issues to see if this bug has already been reported, and it hasn't been.
- [X] I understand that people give their precious time for free, and thus I've done my very best to make this problem as easy as possible to investigate.


Discussion:
New Source URL for art_trier_de.py

def fetch(self):
        url = f"{API_URL}/{self._zip_code}:{self._district}::@{REMINDER_DAY}-{REMINDER_TIME}.ics"

Resolving patch:
diff --git a/custom_components/waste_collection_schedule/waste_collection_schedule/source/art_trier_de.py b/custom_components/waste_collection_schedule/waste_collection_schedule/source/art_trier_de.py
--- a/custom_components/waste_collection_schedule/waste_collection_schedule/source/art_trier_de.py
+++ b/custom_components/waste_collection_schedule/waste_collection_schedule/source/art_trier_de.py
@@ -1,13 +1,11 @@
-import contextlib
-from datetime import datetime
-from typing import Optional
+import logging
 from urllib.parse import quote
 
 import requests
 from waste_collection_schedule import Collection  # type: ignore[attr-defined]
 from waste_collection_schedule.service.ICS import ICS
 
-TITLE = "ART Trier"
+TITLE = "ART Trier (Depreciated)"
 DESCRIPTION = "Source for waste collection of ART Trier."
 URL = "https://www.art-trier.de"
 TEST_CASES = {
@@ -56,6 +54,7 @@
         ".": None,
     }
 )
+LOGGER = logging.getLogger(__name__)
 
 
 class Source:
@@ -67,7 +66,11 @@ def __init__(self, district: str, zip_code: str):
         self._ics = ICS(regex=r"^A.R.T. Abfuhrtermin: (.*)", split_at=r" & ")
 
     def fetch(self):
-        url = f"{API_URL}/{self._zip_code}_{self._district}_{REMINDER_DAY}-{REMINDER_TIME}.ics"
+        LOGGER.warning(
+            "The ART Trier source is deprecated and might not work with all addresses anymore."
+            " Please use the ICS instead: https://github.com/mampfes/hacs_waste_collection_schedule/blob/master/doc/ics/art_trier_de.md"
+        )
+        url = f"{API_URL}/{self._zip_code}:{self._district}::@{REMINDER_DAY}-{REMINDER_TIME}.ics"
 
         res = requests.get(url)
         res.raise_for_status()


Test patch: