def mosviz_level2_loader(label, *args, **kwargs): adder = data_factory(label, *args, **kwargs) def wrapper(func): LEVEL2_LOADERS[label] = func return adder(func) return wrapper
def mosviz_spectrum2d_loader(label, *args, **kwargs): adder = data_factory(label, *args, **kwargs) def wrapper(func): SPECTRUM2D_LOADERS[label] = func return adder(func) return wrapper
def mosviz_cutout_loader(label, *args, **kwargs): adder = data_factory(label, *args, **kwargs) def wrapper(func): CUTOUT_LOADERS[label] = func return adder(func) return wrapper
def __init__(self, in_configs=[], show_only=False, remove_defaults=False, check_ifu_valid=True): """ The IFC takes either a directory (that contains YAML files), a list of directories (each of which contain YAML files) or a list of YAML files. Each YAML file defines requirements :param in_configs: Directory, list of directories, or list of files. """ # Remove all pre-defined data configuration loaders in Glue. Then, if a user tries to open an IFU FITS # file that is not known to us a popup will come up saying cubeviz does not recognize the data format. if remove_defaults: data_factory._members = [] if show_only: logger.setLevel(logging.DEBUG) self._config_files = [] # Get all the available YAML data configuration files based on the command line. logger.debug('YAML data configuration fiels from command line: {}'.format(in_configs)) self._config_files.extend(self._find_yaml_files(in_configs)) # Get all the available YAML data configuration files based on the environment variable. if CUBEVIZ_DATA_CONFIGS in os.environ: logger.debug('YAML data configuration fiels from environment variable: {}'.format(os.environ[CUBEVIZ_DATA_CONFIGS])) self._config_files.extend(self._find_yaml_files(os.environ[CUBEVIZ_DATA_CONFIGS])) # Get all the available YAML data configuration files based on the default directory logger.debug( 'YAML data configuration fiels from the default directory: {}'.format(DEFAULT_DATA_CONFIGS)) self._config_files.extend(self._find_yaml_files(DEFAULT_DATA_CONFIGS)) logger.debug( 'YAML data configuration files: {}'.format('\n'.join(self._config_files))) for config_file in self._config_files: # Load the YAML file and get the name, priority and create the data factory wrapper with open(config_file, 'r') as yamlfile: cfg = yaml.load(yamlfile) name = cfg['name'] try: priority = int(cfg.get('priority', 0)) except: priority = 0 # The code below instantiates a data configuration object based on the config file and is # therefore dependent on the type of data file. The data configuration object defines two functions # 'matches' and 'load_data' that are used. We needed a way to call Glue's data_factory and be able # to pass in functions that have state information. dc = DataConfiguration(config_file, check_ifu_valid=check_ifu_valid) wrapper = data_factory(name, dc.matches, priority=priority) wrapper(dc.load_data)
def __init__(self, in_configs=[], show_only=False, remove_defaults=False): """ The IFC takes either a directory (that contains YAML files), a list of directories (each of which contain YAML files) or a list of YAML files. Each YAML file defines requirements :param in_configs: Directory, list of directories, or list of files. """ # Remove all pre-defined data configuration loaders in Glue. Then, if a user tries to open an IFU FITS # file that is not known to us a popup will come up saying cubeviz does not recognize the data format. if remove_defaults: data_factory._members = [] if show_only: logger.setLevel(logging.DEBUG) self._config_files = [] # Get all the available YAML data configuration files based on the command line. logger.debug('YAML data configuration fiels from command line: {}'.format(in_configs)) self._config_files.extend(self._find_yaml_files(in_configs)) # Get all the available YAML data configuration files based on the environment variable. if CUBEVIZ_DATA_CONFIGS in os.environ: logger.debug('YAML data configuration fiels from environment variable: {}'.format(os.environ[CUBEVIZ_DATA_CONFIGS])) self._config_files.extend(self._find_yaml_files(os.environ[CUBEVIZ_DATA_CONFIGS])) # Get all the available YAML data configuration files based on the default directory logger.debug( 'YAML data configuration fiels from the default directory: {}'.format(DEFAULT_DATA_CONFIGS)) self._config_files.extend(self._find_yaml_files(DEFAULT_DATA_CONFIGS)) logger.debug( 'YAML data configuration files: {}'.format('\n'.join(self._config_files))) for config_file in self._config_files: # Load the YAML file and get the name, priority and create the data factory wrapper with open(config_file, 'r') as yamlfile: cfg = yaml.load(yamlfile) name = cfg['name'] try: priority = int(cfg.get('priority', 0)) except: priority = 0 # The code below instantiates a data configuration object based on the config file and is # therefore dependent on the type of data file. The data configuration object defines two functions # 'matches' and 'load_data' that are used. We needed a way to call Glue's data_factory and be able # to pass in functions that have state information. dc = DataConfiguration(config_file) wrapper = data_factory(name, dc.matches, priority=priority) wrapper(dc.load_data)