import biothings.hub.dataload.dumper as dumper
from biothings.utils.hub_db import get_data_plugin
[docs]
class GitDataPlugin(dumper.GitDumper):
# override to point to "data_plugin" collection instead of src_dump
# so we don't mix data sources and plugins
[docs]
def prepare_src_dump(self):
self.src_dump = get_data_plugin()
self.src_doc = self.src_dump.find_one({"_id": self.src_name}) or {}
[docs]
class ManualDataPlugin(dumper.ManualDumper):
# override to point to "data_plugin" collection instead of src_dump
# so we don't mix data sources and plugins
[docs]
def prepare_src_dump(self):
self.src_dump = get_data_plugin()
self.src_doc = self.src_dump.find_one({"_id": self.src_name}) or {}
[docs]
async def dump(self, *args, **kwargs):
await super(ManualDataPlugin, self).dump(
path="", # it's the version is original method implemention
# but no version here available
release="",
*args,
**kwargs,
)
[docs]
class DataPluginManager(dumper.DumperManager):
[docs]
def load(self, plugin_name, *args, **kwargs):
return super(DataPluginManager, self).dump_src(plugin_name, *args, **kwargs)