class MasterDriver(object): gdal_prefix = "" name = "" interface = ['to_local', 'download', 'upload', 'remove', 'translate', 'publish', 'check_source', 'get_source', 'set_source', 'check', 'create', 'list', 'preview', 'prelist'] def to_local(self, *args, **kwargs): raise NotImplementedError def download(self, *args, **kwargs): raise NotImplementedError def upload(self, *args, **kwargs): raise NotImplementedError def remove(self, *args, **kwargs): raise NotImplementedError def translate(self, *args, **kwargs): raise NotImplementedError def publish(self, *args, **kwargs): raise NotImplementedError def check_source(self, *args, **kwargs): raise NotImplementedError def get_source(self, *args, **kwargs): raise NotImplementedError def check(self, *args, **kwargs): raise NotImplementedError def create(self, *args, **kwargs): raise NotImplementedError def list(self, *args, **kwargs): raise NotImplementedError def preview(self, *args, **kwargs): raise NotImplementedError def prelist(self, *args, **kwargs): raise NotImplementedError def set_source(self, layer, *sources): """ Set source path with the format of driver Parameters ---------- layer: :obj: `Layer` layer object sources: tuple Tuple of source to be set Returns ------- None """ layer.parameters['source'] = ':'.join(sources) layer.parameters['driver_type'] = self.name