from attrs import define from .engine import SoundCloudEngine @define class SoundCloudDriver: engine: SoundCloudEngine async def get_track(self, track_id: int | str): return await self.engine.call(f"tracks/{track_id}") async def search(self, query: str, limit: int = 30): return ( await self.engine.call("search/tracks", params={"q": query, "limit": limit}) )["collection"] async def resolve_url(self, url: str): return await self.engine.call("resolve", params={"url": url})