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