Model API Reference¶
- class sxm.models.QualitySize(value)[source]¶
An enumeration.
- LARGE_256k = 'LARGE'¶
- MEDIUM_128k = 'MEDIUM'¶
- SMALL_64k = 'SMALL'¶
- class sxm.models.XMAlbum(*, title: str = None, arts: List[sxm.models.XMArt])[source]¶
- arts: List[sxm.models.XMArt]¶
- static from_dict(data: dict) sxm.models.XMAlbum [source]¶
- title: Optional[str]¶
- class sxm.models.XMArt(*, name: str = None, url: str, art_type: str)[source]¶
- art_type: str¶
- static from_dict(data: dict) sxm.models.XMArt [source]¶
- name: Optional[str]¶
- url: str¶
- class sxm.models.XMArtist(*, name: str)[source]¶
- static from_dict(data: dict) sxm.models.XMArtist [source]¶
- name: str¶
- class sxm.models.XMCategory(*, guid: str, name: str, key: str = None, order: int = None, short_name: str = None)[source]¶
- static from_dict(data: dict) sxm.models.XMCategory [source]¶
- guid: str¶
- key: Optional[str]¶
- name: str¶
- order: Optional[int]¶
- short_name: Optional[str]¶
- class sxm.models.XMChannel(*, guid: str, id: str, name: str, streaming_name: str, sort_order: int, short_description: str, medium_description: str, url: str, is_available: bool, is_favorite: bool, is_mature: bool, channel_number: int, images: List[sxm.models.XMImage], categories: List[sxm.models.XMCategory])[source]¶
See tests/sample_data/xm_channel.json for sample
- categories: List[sxm.models.XMCategory]¶
- channel_number: int¶
- guid: str¶
- id: str¶
- images: List[sxm.models.XMImage]¶
- is_available: bool¶
- is_favorite: bool¶
- is_mature: bool¶
- medium_description: str¶
- name: str¶
- property pretty_name: str¶
Returns a formated version of channel number + channel name
- short_description: str¶
- sort_order: int¶
- streaming_name: str¶
- url: str¶
- class sxm.models.XMCut(*, title: str, artists: List[sxm.models.XMArtist], cut_type: str = None)[source]¶
- artists: List[sxm.models.XMArtist]¶
- cut_type: Optional[str]¶
- static from_dict(data: dict) sxm.models.XMCut [source]¶
- title: str¶
- class sxm.models.XMCutMarker(*, guid: str, time: datetime.datetime, time_seconds: int, duration: datetime.timedelta, cut: sxm.models.XMCut)[source]¶
- cut: sxm.models.XMCut¶
- static from_dict(data: dict) sxm.models.XMCutMarker [source]¶
- class sxm.models.XMEpisode(*, guid: str, medium_title: str, long_title: str, short_description: str, long_description: str, show: sxm.models.XMShow)[source]¶
- static from_dict(data: dict) sxm.models.XMEpisode [source]¶
- guid: str¶
- long_description: str¶
- long_title: str¶
- medium_title: str¶
- short_description: str¶
- show: sxm.models.XMShow¶
- class sxm.models.XMEpisodeMarker(*, guid: str, time: datetime.datetime, time_seconds: int, duration: datetime.timedelta, episode: sxm.models.XMEpisode)[source]¶
- episode: sxm.models.XMEpisode¶
- static from_dict(data: dict) sxm.models.XMEpisodeMarker [source]¶
- class sxm.models.XMHLSInfo(*, name: str, size: str, position: sxm.models.XMPosition = None)[source]¶
- static from_dict(data: dict) sxm.models.XMHLSInfo [source]¶
- name: str¶
- position: Optional[sxm.models.XMPosition]¶
- size: str¶
- property url¶
- class sxm.models.XMImage(*, name: str = None, url: str, art_type: str, platform: str = None, height: int = None, width: int = None, size: str = None)[source]¶
- static from_dict(data: dict) sxm.models.XMImage [source]¶
- height: Optional[int]¶
- platform: Optional[str]¶
- size: Optional[str]¶
- width: Optional[int]¶
- class sxm.models.XMLiveChannel(*, id: str, hls_infos: List[sxm.models.XMHLSInfo], custom_hls_infos: List[sxm.models.XMHLSInfo], episode_markers: List[sxm.models.XMEpisodeMarker], cut_markers: List[sxm.models.XMCutMarker], tune_time: datetime.datetime = None)[source]¶
See tests/sample_data/xm_live_channel.json for sample
- custom_hls_infos: List[sxm.models.XMHLSInfo]¶
- cut_markers: List[sxm.models.XMCutMarker]¶
- episode_markers: List[sxm.models.XMEpisodeMarker]¶
- static from_dict(data: dict) sxm.models.XMLiveChannel [source]¶
- get_latest_cut(now: Optional[datetime.datetime] = None) Optional[sxm.models.XMCutMarker] [source]¶
Returns the latest
XMCutMarker
based on type relative to nownow : Optional[
datetime
]
- get_latest_episode(now: Optional[datetime.datetime] = None) Optional[sxm.models.XMEpisodeMarker] [source]¶
Returns the latest
XMEpisodeMarker
based on type relative to nownow : Optional[
datetime
]
- hls_infos: List[sxm.models.XMHLSInfo]¶
- id: str¶
- property primary_hls: sxm.models.XMHLSInfo¶
- property secondary_hls: sxm.models.XMHLSInfo¶
- set_stream_quality(value: sxm.models.QualitySize)[source]¶
- property song_cuts: List[sxm.models.XMCutMarker]¶
Returns a list of all XMCut objects that are for songs
- static sort_markers(markers: List[sxm.models.XMMarker]) List[sxm.models.XMMarker] [source]¶
Sorts a list of XMMarker objects
- tune_time: Optional[datetime.datetime]¶
- class sxm.models.XMMarker(*, guid: str, time: datetime.datetime, time_seconds: int, duration: datetime.timedelta)[source]¶
- duration: datetime.timedelta¶
- static from_dict(data: dict) sxm.models.XMMarker [source]¶
- guid: str¶
- time: datetime.datetime¶
- time_seconds: int¶
- class sxm.models.XMPosition(*, timestamp: datetime.datetime, position: str)[source]¶
- static from_dict(data: dict) sxm.models.XMPosition [source]¶
- position: str¶
- timestamp: datetime.datetime¶
- class sxm.models.XMShow(*, guid: str, medium_title: str, long_title: str, short_description: str, long_description: str, arts: List[sxm.models.XMArt])[source]¶
- arts: List[sxm.models.XMArt]¶
- static from_dict(data: dict) sxm.models.XMShow [source]¶
- guid: str¶
- long_description: str¶
- long_title: str¶
- medium_title: str¶
- short_description: str¶
- class sxm.models.XMSong(*, title: str, artists: List[sxm.models.XMArtist], cut_type: str = None, album: sxm.models.XMAlbum = None, itunes_id: str = None)[source]¶
- album: Optional[sxm.models.XMAlbum]¶
- static from_dict(data: dict) sxm.models.XMSong [source]¶
- itunes_id: Optional[str]¶