- `yt-dlp` stopped working so a switch to `get_iplayer` was necessary
- Added sending a notification to the backend api
- Added logging and general error handling
Refactored metadata extraction -> created an EpisodeData dataclass to represent metadata clearly.
Modularized download process: Broke down huge main function into several parts.
Added error handling for yt_dlp.
Added docstrings to functions for ease of understanding.