#basics building Podcast Provider

1 messages · Page 1 of 1 (latest)

blazing vault
#

So looking at the other music providers I have managed to create a simple provider for a national public broadcaster. This boardcaster has public radio stations and a lot of podcasts. I have create the radio stations with browse and got this part working. Now I'm working on the podcast section. First i just implement search and I can search and find podcast series and also load a podcast series (eg. with 270 episodes) and play a podcast episode. if i like or add the podcast to library they show up in my podcasts (i have not looked at syncing with the provider) - how / when is the list suppose to update itself and highlight if there are any new episodes? I thought I might have seen something like this here but not sure. If I click refresh I don't see any calls for each of these podcast series but maybe I'm misunderstanding MA should update and show like " (1) new episode" ?

manic glacier
#

You just implement the get_library_* methods

#

and the rest will be handled

blazing vault
#

Thanks 👍 still trying to get a understanding of how to get info from MA. Where can I see the liked / added podcasts ? Again this is not synced with the provider atm. I can see them in UI but where and how to find them from MA database?

manic glacier
#

You mean where to find it in the MA user interface ?

#

Once the sync runs, it pulls in the items from all providers into the correct library sections

blazing vault
#

No I have liked/added 4 podcasts (not episodes). Now these 4 show up in the podcast section. (I only have implemented search). I can open the podcast and it will fetch episodes. But should these podcast automatically be fetched every like 30 minutes or anything like that? To show there are new podcast in list? Like you get a notification about new episodes available?

#

Or you have to manually go open each list to check for new episodes?

manic glacier
blazing vault
manic glacier
#

The podcasts and audiobooks implementation is still rather basic, we're adding features slowly

blazing vault
#

Another question about the position/ordering of podcast episodes. What would you normally do? I have a show with 270 episodes. Episode 1 is first and 270 is last. Would you do the ordering from 1-270 or the opposite. Then do the sorting descending i ui

manic glacier
#

the position attribute is used for sorting

blazing vault
#

Perfect

#

I already do that. Was just not sure what you would prefer

manic glacier
#

well, that

blazing vault
#

That is also great. features for audiobooks and podcast can evolve over time 🙂

#

naming the provider when it is a national broadcaster. only "local" users will find it usefull.

#

should i add country code or anything?=

manic glacier
#

Just use the description field to explain

#

Title should be easy recognizable for users

#

so if that is local, so be it

blazing vault
#

so the provider is DR but the podcasts and radio section is called DRLyd (short for Danish Radio Audio - translated) so i have just named it drlyd

blazing vault
#

I have a dataclass like this
@dataclass
class Channel(DataClassDictMixin):
"""Radio Channel Data."""

title: str
id: str
slug: str
type: str  # TODO enum?
presentationUrl: str  # noqa: N815
#

is it okay to add the tag to presentationUrl ? it is the json response from api

manic glacier
blazing vault
#

api json has value presentationUrl but linter says it should be like presentation_url

#

is it okay to add # noqa: N815

manic glacier
#

yes, you need to use alias config for that

#

the idea is that you keep the python dataclass pythonic (so camelclass attribute names) but by defining the alias config, you can instruct the json parser to read from/to the original value

blazing vault
#

Have i done something wrong with my fork ? i now see i have create the branch but it is highlighted in the official repo

manic glacier
blazing vault
#

yea i think so. was just worried i did something wrong. I'm really trying to get into this to help out where i can

blazing vault
#

When searching - i now get two results - one from the provider and the other one from library. it is the same, so may i have created the podcast wrong?