Source code for jdaviz.configs.default.plugins.data_tools.data_tools

from jdaviz.core.template_mixin import TemplateMixin
from jdaviz.utils import load_template
from jdaviz.core.events import LoadDataMessage
from traitlets import Unicode, Bool, observe
import os
from jdaviz.core.registries import tool_registry

__all__ = ['DataTools']


[docs]@tool_registry('g-data-tools') class DataTools(TemplateMixin): template = load_template("data_tools.vue", __file__).tag(sync=True) file_path = Unicode("").tag(sync=True) dialog = Bool(False).tag(sync=True) valid_path = Bool(True).tag(sync=True) error_message = Unicode().tag(sync=True) @observe("file_path") def _on_file_path_changed(self, event): if not os.path.exists(event['new']) or not os.path.isfile(event['new']): self.error_message = "No file exists at given path" self.valid_path = False else: self.error_message = "" self.valid_path = True
[docs] def vue_load_data(self, *args, **kwargs): if os.path.exists(self.file_path): load_data_message = LoadDataMessage(self.file_path, sender=self) self.hub.broadcast(load_data_message) self.dialog = False