forked from platypush/platypush
33 lines
901 B
Python
33 lines
901 B
Python
import logging
|
|
from typing import Optional
|
|
|
|
from .. import MediaPlugin
|
|
|
|
|
|
class MediaSearcher:
|
|
"""
|
|
Base class for media searchers
|
|
"""
|
|
|
|
def __init__(self, *args, media_plugin: Optional[MediaPlugin] = None, **kwargs):
|
|
self.logger = logging.getLogger(self.__class__.__name__)
|
|
self.media_plugin = media_plugin
|
|
|
|
def search(self, query, *args, **kwargs):
|
|
raise NotImplementedError('The search method should be implemented ' +
|
|
'by a derived class')
|
|
|
|
|
|
from .local import LocalMediaSearcher
|
|
from .youtube import YoutubeMediaSearcher
|
|
from .torrent import TorrentMediaSearcher
|
|
from .plex import PlexMediaSearcher
|
|
from .jellyfin import JellyfinMediaSearcher
|
|
|
|
__all__ = [
|
|
'MediaSearcher', 'LocalMediaSearcher', 'TorrentMediaSearcher',
|
|
'YoutubeMediaSearcher', 'PlexMediaSearcher', 'JellyfinMediaSearcher',
|
|
]
|
|
|
|
|
|
# vim:sw=4:ts=4:et:
|