podcast_search library

Classes

Attribute
A class that provides a list of valid attributes for podcasts.
Chapters
Country
A class that provides a list of the countries supported by the iTunes API.
Episode
A class representing an individual episode.
Genre
A class that represents the genre(s) the podcast is related to.
Item
A class that represents an individual Podcast within the search results. Not all properties may contain values for all search providers.
ITunesProvider
Pass an instance of this class to use iTunes as the podcast search engine.
Language
A class that provides a list of the languages the iTunes API currently supports.
Podcast
This class represents a podcast and its episodes. The Podcast is instantiated with a feed URL which is then parsed and the episode list generated.
PodcastIndexProvider
Pass an instance of this class to use PodcastIndex as the podcast search engine.
This class handles the searching. Taking the base URL we build any parameters that have been added before making a call to iTunes. The results are unpacked and stored as Item instances and wrapped in a SearchResult.
SearchProvider
Defines a list of classes that represent the search engines we can use to find Podcasts. Currently, this is iTunes and PodcastIndex.
SearchResult
This class is a container for our search results or for any error message received whilst attempting to fetch the podcast data.

Constants

countTagMap → const Map<ResultType, String>
{ResultType.itunes : 'resultCount', ResultType.podcastIndex : 'count'}
startTagMap → const Map<ResultType, String>
{ResultType.itunes : 'results', ResultType.podcastIndex : 'feeds'}

Enums

ErrorType
ResultType

Exceptions / Errors

PodcastCancelledException
Thrown if the search is cancelled.
PodcastFailedException
Thrown if we get an invalid response error.
PodcastTimeoutException
Thrown if the connection times out, or we timeout waiting to receive the data.