Files
sublime-music/sublime/server/api_objects.py

790 lines
16 KiB
Python

"""
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