""" WARNING: AUTOGENERATED FILE This file was generated by the api_object_generator.py script. Do not modify this file directly, rather modify the script or run it on a new API version. """ from datetime import datetime from enum import Enum from typing import Any, List, Optional from sublime.server.api_object import APIObject class AlbumInfo(APIObject): notes: List[str] musicBrainzId: List[str] lastFmUrl: List[str] smallImageUrl: List[str] mediumImageUrl: List[str] largeImageUrl: List[str] value: str class AverageRating(APIObject, float): pass class MediaType(APIObject, Enum): MUSIC = 'music' PODCAST = 'podcast' AUDIOBOOK = 'audiobook' VIDEO = 'video' class UserRating(APIObject, int): pass class Child(APIObject): id: str value: str parent: Optional[str] isDir: bool title: str album: Optional[str] artist: Optional[str] track: Optional[int] year: Optional[int] genre: Optional[str] coverArt: Optional[str] size: Optional[int] contentType: Optional[str] suffix: Optional[str] transcodedContentType: Optional[str] transcodedSuffix: Optional[str] duration: Optional[int] bitRate: Optional[int] path: Optional[str] isVideo: Optional[bool] userRating: Optional[UserRating] averageRating: Optional[AverageRating] playCount: Optional[int] discNumber: Optional[int] created: Optional[datetime] starred: Optional[datetime] albumId: Optional[str] artistId: Optional[str] type: Optional[MediaType] bookmarkPosition: Optional[int] originalWidth: Optional[int] originalHeight: Optional[int] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'Child.{self.id}') class AlbumList(APIObject): album: List[Child] value: str class AlbumID3(APIObject): id: str value: str name: str artist: Optional[str] artistId: Optional[str] coverArt: Optional[str] songCount: int duration: int playCount: Optional[int] created: datetime starred: Optional[datetime] year: Optional[int] genre: Optional[str] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'AlbumID3.{self.id}') class AlbumList2(APIObject): album: List[AlbumID3] value: str class AlbumWithSongsID3(APIObject): song: List[Child] value: str id: str name: str artist: Optional[str] artistId: Optional[str] coverArt: Optional[str] songCount: int duration: int playCount: Optional[int] created: datetime starred: Optional[datetime] year: Optional[int] genre: Optional[str] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'AlbumID3.{self.id}') class Artist(APIObject): id: str value: str name: str artistImageUrl: Optional[str] starred: Optional[datetime] userRating: Optional[UserRating] averageRating: Optional[AverageRating] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'Artist.{self.id}') class ArtistInfoBase(APIObject): biography: List[str] musicBrainzId: List[str] lastFmUrl: List[str] smallImageUrl: List[str] mediumImageUrl: List[str] largeImageUrl: List[str] value: str class ArtistInfo(APIObject): similarArtist: List[Artist] value: str biography: List[str] musicBrainzId: List[str] lastFmUrl: List[str] smallImageUrl: List[str] mediumImageUrl: List[str] largeImageUrl: List[str] class ArtistID3(APIObject): id: str value: str name: str coverArt: Optional[str] artistImageUrl: Optional[str] albumCount: int starred: Optional[datetime] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'ArtistID3.{self.id}') class ArtistInfo2(APIObject): similarArtist: List[ArtistID3] value: str biography: List[str] musicBrainzId: List[str] lastFmUrl: List[str] smallImageUrl: List[str] mediumImageUrl: List[str] largeImageUrl: List[str] class ArtistWithAlbumsID3(APIObject): album: List[AlbumID3] value: str id: str name: str coverArt: Optional[str] artistImageUrl: Optional[str] albumCount: int starred: Optional[datetime] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'ArtistID3.{self.id}') class IndexID3(APIObject): artist: List[ArtistID3] value: str name: str class ArtistsID3(APIObject): index: List[IndexID3] value: str ignoredArticles: str class Bookmark(APIObject): entry: List[Child] value: str position: int username: str comment: Optional[str] created: datetime changed: datetime class Bookmarks(APIObject): bookmark: List[Bookmark] value: str class ChatMessage(APIObject): username: str value: str time: int message: str class ChatMessages(APIObject): chatMessage: List[ChatMessage] value: str class Directory(APIObject): child: List[Child] value: str id: str parent: Optional[str] name: str starred: Optional[datetime] userRating: Optional[UserRating] averageRating: Optional[AverageRating] playCount: Optional[int] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'Directory.{self.id}') class Error(APIObject): code: int value: str message: Optional[str] class Genre(APIObject): songCount: int value: str albumCount: int class Genres(APIObject): genre: List[Genre] value: str class Index(APIObject): artist: List[Artist] value: str name: str class Indexes(APIObject): shortcut: List[Artist] index: List[Index] child: List[Child] value: str lastModified: int ignoredArticles: str class InternetRadioStation(APIObject): id: str value: str name: str streamUrl: str homePageUrl: Optional[str] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'InternetRadioStation.{self.id}') class InternetRadioStations(APIObject): internetRadioStation: List[InternetRadioStation] value: str class JukeboxStatus(APIObject): currentIndex: int value: str playing: bool gain: float position: Optional[int] class JukeboxPlaylist(APIObject): entry: List[Child] value: str currentIndex: int playing: bool gain: float position: Optional[int] class License(APIObject): valid: bool value: str email: Optional[str] licenseExpires: Optional[datetime] trialExpires: Optional[datetime] class Lyrics(APIObject): artist: Optional[str] value: str title: Optional[str] class MusicFolder(APIObject): id: int value: str name: Optional[str] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'MusicFolder.{self.id}') class MusicFolders(APIObject): musicFolder: List[MusicFolder] value: str class PodcastStatus(APIObject, Enum): NEW = 'new' DOWNLOADING = 'downloading' COMPLETED = 'completed' ERROR = 'error' DELETED = 'deleted' SKIPPED = 'skipped' class PodcastEpisode(APIObject): streamId: Optional[str] channelId: str description: Optional[str] status: PodcastStatus publishDate: Optional[datetime] value: str id: str parent: Optional[str] isDir: bool title: str album: Optional[str] artist: Optional[str] track: Optional[int] year: Optional[int] genre: Optional[str] coverArt: Optional[str] size: Optional[int] contentType: Optional[str] suffix: Optional[str] transcodedContentType: Optional[str] transcodedSuffix: Optional[str] duration: Optional[int] bitRate: Optional[int] path: Optional[str] isVideo: Optional[bool] userRating: Optional[UserRating] averageRating: Optional[AverageRating] playCount: Optional[int] discNumber: Optional[int] created: Optional[datetime] starred: Optional[datetime] albumId: Optional[str] artistId: Optional[str] type: Optional[MediaType] bookmarkPosition: Optional[int] originalWidth: Optional[int] originalHeight: Optional[int] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'Child.{self.id}') class NewestPodcasts(APIObject): episode: List[PodcastEpisode] value: str class NowPlayingEntry(APIObject): username: str minutesAgo: int playerId: int playerName: Optional[str] value: str id: str parent: Optional[str] isDir: bool title: str album: Optional[str] artist: Optional[str] track: Optional[int] year: Optional[int] genre: Optional[str] coverArt: Optional[str] size: Optional[int] contentType: Optional[str] suffix: Optional[str] transcodedContentType: Optional[str] transcodedSuffix: Optional[str] duration: Optional[int] bitRate: Optional[int] path: Optional[str] isVideo: Optional[bool] userRating: Optional[UserRating] averageRating: Optional[AverageRating] playCount: Optional[int] discNumber: Optional[int] created: Optional[datetime] starred: Optional[datetime] albumId: Optional[str] artistId: Optional[str] type: Optional[MediaType] bookmarkPosition: Optional[int] originalWidth: Optional[int] originalHeight: Optional[int] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'Child.{self.id}') class NowPlaying(APIObject): entry: List[NowPlayingEntry] value: str class PlayQueue(APIObject): entry: List[Child] value: str current: Optional[int] position: Optional[int] username: str changed: datetime changedBy: str class Playlist(APIObject): allowedUser: List[str] value: str id: str name: str comment: Optional[str] owner: Optional[str] public: Optional[bool] songCount: int duration: int created: datetime changed: datetime coverArt: Optional[str] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'Playlist.{self.id}') class PlaylistWithSongs(APIObject): entry: List[Child] value: str allowedUser: List[str] id: str name: str comment: Optional[str] owner: Optional[str] public: Optional[bool] songCount: int duration: int created: datetime changed: datetime coverArt: Optional[str] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'Playlist.{self.id}') class Playlists(APIObject): playlist: List[Playlist] value: str class PodcastChannel(APIObject): episode: List[PodcastEpisode] value: str id: str url: str title: Optional[str] description: Optional[str] coverArt: Optional[str] originalImageUrl: Optional[str] status: PodcastStatus errorMessage: Optional[str] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'PodcastChannel.{self.id}') class Podcasts(APIObject): channel: List[PodcastChannel] value: str class ResponseStatus(APIObject, Enum): OK = 'ok' FAILED = 'failed' class ScanStatus(APIObject): scanning: bool value: str count: Optional[int] class SearchResult(APIObject): match: List[Child] value: str offset: int totalHits: int class SearchResult2(APIObject): artist: List[Artist] album: List[Child] song: List[Child] value: str class SearchResult3(APIObject): artist: List[ArtistID3] album: List[AlbumID3] song: List[Child] value: str class Share(APIObject): entry: List[Child] value: str id: str url: str description: Optional[str] username: str created: datetime expires: Optional[datetime] lastVisited: Optional[datetime] visitCount: int def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'Share.{self.id}') class Shares(APIObject): share: List[Share] value: str class SimilarSongs(APIObject): song: List[Child] value: str class SimilarSongs2(APIObject): song: List[Child] value: str class Songs(APIObject): song: List[Child] value: str class Starred(APIObject): artist: List[Artist] album: List[Child] song: List[Child] value: str class Starred2(APIObject): artist: List[ArtistID3] album: List[AlbumID3] song: List[Child] value: str class TopSongs(APIObject): song: List[Child] value: str class User(APIObject): folder: List[int] value: str username: str email: Optional[str] scrobblingEnabled: bool maxBitRate: Optional[int] adminRole: bool settingsRole: bool downloadRole: bool uploadRole: bool playlistRole: bool coverArtRole: bool commentRole: bool podcastRole: bool streamRole: bool jukeboxRole: bool shareRole: bool videoConversionRole: bool avatarLastChanged: Optional[datetime] class Users(APIObject): user: List[User] value: str class Version(APIObject, str): pass class AudioTrack(APIObject): id: str value: str name: Optional[str] languageCode: Optional[str] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'AudioTrack.{self.id}') class Captions(APIObject): id: str value: str name: Optional[str] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'Captions.{self.id}') class VideoConversion(APIObject): id: str value: str bitRate: Optional[int] audioTrackId: Optional[int] def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'VideoConversion.{self.id}') class VideoInfo(APIObject): captions: List[Captions] audioTrack: List[AudioTrack] conversion: List[VideoConversion] value: str id: str def __eq__(self, other: Any) -> bool: return hash(self) == hash(other) def __hash__(self) -> int: return hash(f'VideoInfo.{self.id}') class Videos(APIObject): video: List[Child] value: str class Response(APIObject): musicFolders: MusicFolders indexes: Indexes directory: Directory genres: Genres artists: ArtistsID3 artist: ArtistWithAlbumsID3 album: AlbumWithSongsID3 song: Child videos: Videos videoInfo: VideoInfo nowPlaying: NowPlaying searchResult: SearchResult searchResult2: SearchResult2 searchResult3: SearchResult3 playlists: Playlists playlist: PlaylistWithSongs jukeboxStatus: JukeboxStatus jukeboxPlaylist: JukeboxPlaylist license: License users: Users user: User chatMessages: ChatMessages albumList: AlbumList albumList2: AlbumList2 randomSongs: Songs songsByGenre: Songs lyrics: Lyrics podcasts: Podcasts newestPodcasts: NewestPodcasts internetRadioStations: InternetRadioStations bookmarks: Bookmarks playQueue: PlayQueue shares: Shares starred: Starred starred2: Starred2 albumInfo: AlbumInfo artistInfo: ArtistInfo artistInfo2: ArtistInfo2 similarSongs: SimilarSongs similarSongs2: SimilarSongs2 topSongs: TopSongs scanStatus: ScanStatus error: Error value: str status: ResponseStatus version: Version