mirror of
https://github.com/maxdorninger/MediaManager.git
synced 2026-04-17 23:23:25 +02:00
refactor: change folder structure
This commit is contained in:
33
media_manager/metadataProvider/abstractMetaDataProvider.py
Normal file
33
media_manager/metadataProvider/abstractMetaDataProvider.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import logging
|
||||
from abc import ABC, abstractmethod
|
||||
|
||||
import config
|
||||
from media_manager.metadataProvider.schemas import MetaDataProviderShowSearchResult
|
||||
from media_manager.tv.schemas import Show
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class AbstractMetadataProvider(ABC):
|
||||
storage_path = config.BasicConfig().image_directory
|
||||
|
||||
@property
|
||||
@abstractmethod
|
||||
def name(self) -> str:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_show_metadata(self, id: int = None) -> Show:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def search_show(self, query) -> list[MetaDataProviderShowSearchResult]:
|
||||
pass
|
||||
|
||||
|
||||
metadata_providers = {}
|
||||
|
||||
|
||||
def register_metadata_provider(metadata_provider: AbstractMetadataProvider):
|
||||
log.info("Registering metadata provider:" + metadata_provider.name)
|
||||
metadata_providers[metadata_provider.name] = metadata_provider
|
||||
Reference in New Issue
Block a user