radio_util: open tracks SQLite DB in readonly mode; black: reformat files
This commit is contained in:
@@ -5,6 +5,7 @@ from pydantic import BaseModel
|
||||
Karma
|
||||
"""
|
||||
|
||||
|
||||
class ValidKarmaUpdateRequest(BaseModel):
|
||||
"""
|
||||
Requires authentication
|
||||
@@ -25,35 +26,42 @@ class ValidKarmaRetrievalRequest(BaseModel):
|
||||
|
||||
keyword: str
|
||||
|
||||
|
||||
class ValidTopKarmaRequest(BaseModel):
|
||||
"""
|
||||
- **n**: Number of top results to return (default: 10)
|
||||
"""
|
||||
|
||||
n: Optional[int] = 10
|
||||
|
||||
|
||||
"""
|
||||
LastFM
|
||||
"""
|
||||
|
||||
|
||||
class LastFMException(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class ValidArtistSearchRequest(BaseModel):
|
||||
"""
|
||||
- **a**: artist name
|
||||
"""
|
||||
|
||||
a: str
|
||||
|
||||
|
||||
model_config = {
|
||||
"json_schema_extra": {
|
||||
"json_schema_extra": {
|
||||
"examples": [
|
||||
{
|
||||
"a": "eminem",
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
class ValidAlbumDetailRequest(BaseModel):
|
||||
"""
|
||||
- **a**: artist name
|
||||
@@ -64,15 +72,17 @@ class ValidAlbumDetailRequest(BaseModel):
|
||||
release: str
|
||||
|
||||
model_config = {
|
||||
"json_schema_extra": {
|
||||
"json_schema_extra": {
|
||||
"examples": [
|
||||
{
|
||||
"a": "eminem",
|
||||
"release": "houdini",
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
class ValidTrackInfoRequest(BaseModel):
|
||||
"""
|
||||
- **a**: artist name
|
||||
@@ -81,21 +91,24 @@ class ValidTrackInfoRequest(BaseModel):
|
||||
|
||||
a: str
|
||||
t: str
|
||||
|
||||
|
||||
model_config = {
|
||||
"json_schema_extra": {
|
||||
"json_schema_extra": {
|
||||
"examples": [
|
||||
{
|
||||
"a": "eminem",
|
||||
"t": "rap god",
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
"""
|
||||
Rand Msg
|
||||
"""
|
||||
|
||||
|
||||
class RandMsgRequest(BaseModel):
|
||||
"""
|
||||
- **short**: Short randmsg?
|
||||
@@ -103,10 +116,12 @@ class RandMsgRequest(BaseModel):
|
||||
|
||||
short: Optional[bool] = False
|
||||
|
||||
|
||||
"""
|
||||
YT
|
||||
"""
|
||||
|
||||
|
||||
class ValidYTSearchRequest(BaseModel):
|
||||
"""
|
||||
- **t**: title to search
|
||||
@@ -114,10 +129,12 @@ class ValidYTSearchRequest(BaseModel):
|
||||
|
||||
t: str = "rick astley - never gonna give you up"
|
||||
|
||||
|
||||
"""
|
||||
XC
|
||||
"""
|
||||
|
||||
|
||||
class ValidXCRequest(BaseModel):
|
||||
"""
|
||||
- **key**: valid XC API key
|
||||
@@ -129,12 +146,14 @@ class ValidXCRequest(BaseModel):
|
||||
key: str
|
||||
bid: int
|
||||
cmd: str
|
||||
data: Optional[dict]
|
||||
data: Optional[dict]
|
||||
|
||||
|
||||
"""
|
||||
Transcriptions
|
||||
"""
|
||||
|
||||
|
||||
class ValidShowEpisodeListRequest(BaseModel):
|
||||
"""
|
||||
- **s**: show id
|
||||
@@ -142,6 +161,7 @@ class ValidShowEpisodeListRequest(BaseModel):
|
||||
|
||||
s: int
|
||||
|
||||
|
||||
class ValidShowEpisodeLineRequest(BaseModel):
|
||||
"""
|
||||
- **s**: show id
|
||||
@@ -151,10 +171,12 @@ class ValidShowEpisodeLineRequest(BaseModel):
|
||||
s: int
|
||||
e: int
|
||||
|
||||
|
||||
"""
|
||||
Lyric Search
|
||||
"""
|
||||
|
||||
|
||||
class ValidLyricRequest(BaseModel):
|
||||
"""
|
||||
- **a**: artist
|
||||
@@ -167,7 +189,7 @@ class ValidLyricRequest(BaseModel):
|
||||
- **excluded_sources**: sources to exclude (new only)
|
||||
"""
|
||||
|
||||
a: Optional[str] = None
|
||||
a: Optional[str] = None
|
||||
s: Optional[str] = None
|
||||
t: Optional[str] = None
|
||||
sub: Optional[str] = None
|
||||
@@ -178,32 +200,37 @@ class ValidLyricRequest(BaseModel):
|
||||
|
||||
model_config = {
|
||||
"json_schema_extra": {
|
||||
"examples": [
|
||||
{
|
||||
"a": "eminem",
|
||||
"s": "rap god",
|
||||
"src": "WEB",
|
||||
"extra": True,
|
||||
"lrc": False,
|
||||
"excluded_sources": [],
|
||||
}]
|
||||
}
|
||||
"examples": [
|
||||
{
|
||||
"a": "eminem",
|
||||
"s": "rap god",
|
||||
"src": "WEB",
|
||||
"extra": True,
|
||||
"lrc": False,
|
||||
"excluded_sources": [],
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
class ValidTypeAheadRequest(BaseModel):
|
||||
"""
|
||||
- **query**: query string
|
||||
"""
|
||||
|
||||
query: str
|
||||
|
||||
|
||||
"""
|
||||
Radio
|
||||
"""
|
||||
|
||||
|
||||
class RadioException(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class ValidRadioSongRequest(BaseModel):
|
||||
"""
|
||||
- **key**: API Key
|
||||
@@ -212,55 +239,65 @@ class ValidRadioSongRequest(BaseModel):
|
||||
- **artistsong**: may be used IN PLACE OF artist/song to perform a combined/string search in the format "artist - song"
|
||||
- **alsoSkip**: Whether to skip immediately to this track [not implemented]
|
||||
"""
|
||||
|
||||
key: str
|
||||
artist: Optional[str] = None
|
||||
song: Optional[str] = None
|
||||
artistsong: Optional[str] = None
|
||||
alsoSkip: Optional[bool] = False
|
||||
|
||||
|
||||
|
||||
class ValidRadioTypeaheadRequest(BaseModel):
|
||||
"""
|
||||
- **query**: Typeahead query
|
||||
"""
|
||||
|
||||
query: str
|
||||
|
||||
|
||||
|
||||
|
||||
class ValidRadioQueueGetRequest(BaseModel):
|
||||
"""
|
||||
- **key**: API key (optional, needed if specifying a non-default limit)
|
||||
- **limit**: optional, default: 15k
|
||||
"""
|
||||
|
||||
|
||||
key: Optional[str] = None
|
||||
limit: Optional[int] = 15_000
|
||||
|
||||
|
||||
|
||||
class ValidRadioNextRequest(BaseModel):
|
||||
"""
|
||||
- **key**: API Key
|
||||
- **skipTo**: UUID to skip to [optional]
|
||||
"""
|
||||
|
||||
key: str
|
||||
skipTo: Optional[str] = None
|
||||
|
||||
|
||||
|
||||
class ValidRadioReshuffleRequest(ValidRadioNextRequest):
|
||||
"""
|
||||
- **key**: API Key
|
||||
"""
|
||||
|
||||
|
||||
|
||||
class ValidRadioQueueShiftRequest(BaseModel):
|
||||
"""
|
||||
- **key**: API Key
|
||||
- **uuid**: UUID to shift
|
||||
- **uuid**: UUID to shift
|
||||
- **next**: Play next if true, immediately if false, default False
|
||||
"""
|
||||
|
||||
key: str
|
||||
uuid: str
|
||||
next: Optional[bool] = False
|
||||
|
||||
|
||||
|
||||
class ValidRadioQueueRemovalRequest(BaseModel):
|
||||
"""
|
||||
- **key**: API Key
|
||||
- **uuid**: UUID to remove
|
||||
- **uuid**: UUID to remove
|
||||
"""
|
||||
|
||||
key: str
|
||||
uuid: str
|
||||
uuid: str
|
||||
|
Reference in New Issue
Block a user