def test_add_optical_image(self, fill_db, sm_config, ds_config): db = DB(sm_config['db']) action_queue_mock = MagicMock(spec=QueuePublisher) es_mock = MagicMock(spec=ESExporter) img_store_mock = MagicMock(ImageStoreServiceWrapper) img_store_mock.post_image.side_effect = [ 'opt_img_id1', 'opt_img_id2', 'opt_img_id3', 'thumbnail_id' ] img_store_mock.get_image_by_id.return_value = Image.new( 'RGB', (100, 100)) ds_man = create_ds_man(sm_config=sm_config, db=db, es=es_mock, img_store=img_store_mock, action_queue=action_queue_mock, sm_api=True) ds_man._annotation_image_shape = MagicMock(return_value=(100, 100)) ds_id = '2000-01-01' ds = create_ds(ds_id=ds_id, ds_config=ds_config) zoom_levels = [1, 2, 3] raw_img_id = 'raw_opt_img_id' ds_man.add_optical_image(ds, raw_img_id, [[1, 0, 0], [0, 1, 0], [0, 0, 1]], zoom_levels=zoom_levels) assert db.select('SELECT * FROM optical_image') == [ ('opt_img_id{}'.format(i + 1), ds.id, zoom) for i, zoom in enumerate(zoom_levels) ] assert db.select('SELECT optical_image FROM dataset where id = %s', params=(ds_id, )) == [(raw_img_id, )] assert db.select('SELECT thumbnail FROM dataset where id = %s', params=(ds_id, )) == [('thumbnail_id', )]
def reindex_results(ds_id, ds_mask): assert ds_id or ds_mask conf = SMConfig.get_conf() if ds_mask == '_all_': _reindex_all(conf) else: db = DB(conf['db']) es_exp = ESExporter(db) if ds_id: rows = db.select("select id, name, config from dataset where id = '{}'".format(ds_id)) elif ds_mask: rows = db.select("select id, name, config from dataset where name like '{}%'".format(ds_mask)) else: rows = [] _reindex_datasets(rows, es_exp)
def reindex_results(ds_id, ds_mask): assert ds_id or ds_mask conf = SMConfig.get_conf() if ds_mask == '_all_': _reindex_all(conf) else: db = DB(conf['db']) es_exp = ESExporter(db) if ds_id: rows = db.select( "select id, name, config from dataset where id = '{}'".format( ds_id)) elif ds_mask: rows = db.select( "select id, name, config from dataset where name like '{}%'". format(ds_mask)) else: rows = [] _reindex_datasets(rows, es_exp)
def test_add_optical_image(self, fill_db, sm_config, ds_config): db = DB(sm_config['db']) action_queue_mock = MagicMock(spec=QueuePublisher) es_mock = MagicMock(spec=ESExporter) img_store_mock = MagicMock(ImageStoreServiceWrapper) img_store_mock.post_image.side_effect = ['opt_img_id1', 'opt_img_id2', 'opt_img_id3', 'thumbnail_id'] img_store_mock.get_image_by_id.return_value = Image.new('RGB', (100, 100)) ds_man = create_ds_man(sm_config=sm_config, db=db, es=es_mock, img_store=img_store_mock, action_queue=action_queue_mock, sm_api=True) ds_man._annotation_image_shape = MagicMock(return_value=(100, 100)) ds_id = '2000-01-01' ds = create_ds(ds_id=ds_id, ds_config=ds_config) zoom_levels = [1, 2, 3] raw_img_id = 'raw_opt_img_id' ds_man.add_optical_image(ds, raw_img_id, [[1, 0, 0], [0, 1, 0], [0, 0, 1]], zoom_levels=zoom_levels) assert db.select('SELECT * FROM optical_image') == [ ('opt_img_id{}'.format(i + 1), ds.id, zoom) for i, zoom in enumerate(zoom_levels)] assert db.select('SELECT optical_image FROM dataset where id = %s', params=(ds_id,)) == [(raw_img_id,)] assert db.select('SELECT thumbnail FROM dataset where id = %s', params=(ds_id,)) == [('thumbnail_id',)]
def _reindex_all(conf): es_config = conf['elasticsearch'] alias = es_config['index'] es_man = ESIndexManager(es_config) new_index = es_man.another_index_name(es_man.internal_index_name(alias)) es_man.create_index(new_index) try: tmp_es_config = deepcopy(es_config) tmp_es_config['index'] = new_index db = DB(conf['db']) es_exp = ESExporter(db, tmp_es_config) rows = db.select('select id, name, config from dataset') _reindex_datasets(rows, es_exp) es_man.remap_alias(tmp_es_config['index'], alias=alias) except Exception as e: es_man.delete_index(new_index) raise e