mirror of
https://github.com/Matthww/TuneBot.git
synced 2026-09-21 20:47:44 +00:00
36 lines
1006 B
Python
36 lines
1006 B
Python
from tunebot import GlobalPlaylistSource
|
|
from tunebot import PlaylistSource
|
|
from tunebot.redis import RedisBotEntity
|
|
from tunebot.redis import RedisContextEntity
|
|
|
|
|
|
class GlobalRedisPlaylistSource(RedisBotEntity, GlobalPlaylistSource):
|
|
async def fetch_sources(self) -> set[str]:
|
|
"""
|
|
Fetches all sources
|
|
"""
|
|
return await self.redis.smembers(self.key("sources"))
|
|
|
|
|
|
class RedisPlaylistSource(RedisContextEntity, PlaylistSource):
|
|
async def add(self, source_url: str):
|
|
"""
|
|
Adds a playlist source to Redis
|
|
|
|
Args:
|
|
source_url (str): [description]
|
|
"""
|
|
await self.redis.sadd(self.key("sources"), source_url)
|
|
|
|
async def remove(self, source_url: str) -> bool:
|
|
"""
|
|
Removes a playlist source from Redis
|
|
|
|
Args:
|
|
source_url (str): [description]
|
|
"""
|
|
return await self.redis.srem(self.key("sources"), source_url)
|
|
|
|
|
|
__all__ = ("GlobalRedisPlaylistSource", "RedisPlaylistSource")
|