madiele / vod2pod-rss

Vod2Pod-RSS converts a YouTube or Twitch channel into a podcast with ease. It creates a podcast RSS that can be listened to directly inside any podcast client. VODs are transcoded to MP3 on the fly and no server storage is needed!
MIT License
215 stars 6 forks source link

[technical] refractor provider abstraction #100

Closed madiele closed 11 months ago

madiele commented 1 year ago

I'm not satisfied by my first attempt at it, I tested it's power by implementing one new provider and found it pretty leaky of it's internals.

With this I would like to open the path to redesign the flow, so that changes to apis or other provider specific weirdness could be handled.

The requirements for a provider are this

The documentation will also ask to cache the data with redis when possible

This will mean provider will have some duplicated code in them, that is fine it will allow for better flexibility, it will also still use other services to get the actual rss but the next steps will be to kill this dependencies and do all the parsing in rust to improve performance and easier updates in case API invetably change

madiele commented 1 year ago

I've added the help wanted to mostly open up to possible discussion on how to design the new abstraction.

I ideally hope to get it done by end of September, if I do i will open the project to hacktoberfest and give the option to implement new providers or refractor the one already there to people, might be fun