|
from fastapi import FastAPI, HTTPException |
|
from deezspot import Deezer |
|
from typing import Optional |
|
|
|
app = FastAPI(title="Deezer API") |
|
dz = Deezer() |
|
|
|
@app.get("/") |
|
def read_root(): |
|
return {"message": "Deezer API Endpoints - Use /track/{track_id}"} |
|
|
|
@app.get("/track/{track_id}") |
|
def get_track(track_id: str): |
|
try: |
|
track = dz.get_track(track_id) |
|
if not track: |
|
raise HTTPException(status_code=404, detail="Track not found") |
|
return track |
|
except Exception as e: |
|
raise HTTPException(status_code=500, detail=str(e)) |
|
|
|
|
|
@app.get("/search") |
|
def search_tracks(query: str, limit: Optional[int] = 10): |
|
try: |
|
results = dz.search(query, limit=limit) |
|
return {"results": results} |
|
except Exception as e: |
|
raise HTTPException(status_code=500, detail=str(e)) |