feat: add basic interface and cleanup
This commit is contained in:
parent
573429acd2
commit
c8abb8943e
4 changed files with 211 additions and 53 deletions
23
main.py
23
main.py
|
@ -1,9 +1,10 @@
|
|||
from enum import Enum
|
||||
|
||||
from fastapi import FastAPI
|
||||
from fastapi.responses import HTMLResponse
|
||||
|
||||
from download_service import DownloadService
|
||||
from music_player import MusicPlayer
|
||||
from music_player import MusicPlayer, PlayerState
|
||||
|
||||
|
||||
class ChangePlayerState(Enum):
|
||||
|
@ -25,9 +26,16 @@ player = MusicPlayer()
|
|||
dl_service = DownloadService()
|
||||
|
||||
|
||||
# Interface
|
||||
@app.get("/", response_class=HTMLResponse)
|
||||
async def root():
|
||||
with open("interface.html") as f:
|
||||
return f.read()
|
||||
|
||||
|
||||
# Experimental
|
||||
@app.get("/queue", tags=["queue"])
|
||||
def play_music():
|
||||
def get_queue():
|
||||
return player.get_queue()
|
||||
|
||||
|
||||
|
@ -57,6 +65,11 @@ def player_stop():
|
|||
player.stop()
|
||||
|
||||
|
||||
@app.post("/player/skip", tags=["player"])
|
||||
def player_skip():
|
||||
player.next()
|
||||
|
||||
|
||||
# Player
|
||||
@app.put("/player/volume", tags=["player"])
|
||||
def set_volume(volume: float):
|
||||
|
@ -68,6 +81,6 @@ def get_volume():
|
|||
return {"volume": player.get_volume()}
|
||||
|
||||
|
||||
@app.get("/player/state", tags=["player"])
|
||||
def get_state():
|
||||
return {"state": player.get_state(), "current_track": player.get_current_track()}
|
||||
@app.get("/player", tags=["player"])
|
||||
def get_player_state() -> PlayerState:
|
||||
return player.get_state()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue