Source code for caspia.homeserver.services.metadata

from pathlib import Path

from caspia.meadow.metadata import MetadataProvider, MetadataStore

from .base import Service


[docs]class MetadataService(Service): def __init__(self, *, storage, broker_url, consumer_conn, store=None, provider=None, **kwargs): super().__init__(**kwargs) self.consumer_conn = consumer_conn self.storage = Path(storage) self.is_authority = self.config['metadata_authority'] if self.is_authority: self.store = store or MetadataStore(storage / 'metadata') self.provider = provider or MetadataProvider(broker_url, store=self.store) else: self.store = None self.provider = None