Source code for geowombat.core.base

import logging
from contextlib import contextmanager

from ..handler import add_handler

logger = logging.getLogger(__name__)
logger = add_handler(logger)


@contextmanager
def _executor_dummy(processes=1):
    yield None


@contextmanager
def _cluster_dummy(**kwargs):
    yield None


@contextmanager
def _client_dummy(**kwargs):
    yield None


[docs]class PropertyMixin(object):
[docs] @staticmethod def check_sensor(data, sensor=None, return_error=True): """Checks if a sensor name is provided.""" if sensor is None: if hasattr(data.gw, 'sensor'): sensor = data.gw.sensor else: if return_error: logger.exception(' A sensor must be provided.') return sensor
[docs] @staticmethod def check_sensor_band_names(data, sensor, band_names): """Checks if band names can be collected from a sensor's wavelength names.""" if not band_names: if isinstance(sensor, str): band_names = list(data.gw.wavelengths[sensor]._fields) elif isinstance(data.gw.sensor, str): band_names = list(data.gw.wavelengths[data.gw.sensor]._fields) if not band_names: band_names = list(range(1, data.gw.nbands + 1)) return band_names