diff --git a/dev_scripts/convert_alta_to_adex_cache.py b/dev_scripts/convert_alta_to_adex_cache.py index b93e23845b009fcfd4691a2358cc12cd44c1fc29..fe2e8aa2beca7e6fccce8002218fef5518ad9a4a 100644 --- a/dev_scripts/convert_alta_to_adex_cache.py +++ b/dev_scripts/convert_alta_to_adex_cache.py @@ -41,6 +41,35 @@ def calc_beam(name): return 0 +# conversion algorithm to extract a bit more metadata from an ALTA record +def convert_dataproduct(row): + name, pid, access_url, ra, dec, dt, dst, observation = row + + if dt in ['inspectionPlot']: + return None + + if dst in ['calibrationTable']: + return None + + # determine collection + collection = 'apertif-imaging' + if dt == 'timeSeries': + collection = 'apertif-timeseries' + + level = 0 + if dst == 'uncalibratedVisibility': + level = 0 + if dst == 'calibratedVisibility': + level = 1 + if dst in ['continuumMF','continuumChunk','imageCube','beamCube','polarisationImage','polarisationCube','continuumCube']: + level = 2 + + beam = calc_beam(name) + + record_to_insert = (name, observation, beam, ra, dec, collection, level, dt, dst, access_url) + return record_to_insert + + def do_convert(source, target): try: @@ -82,31 +111,10 @@ def do_convert(source, target): insert_count = 0 for row in rows: name, pid, access_url,ra,dec,dt,dst,observation = row - - # TODO: move this algorithm to a sane place, finish it and have scientists review it. - # determine which dataproducts to skip - insert_this_record = True - if dt in ['inspectionPlot']: - continue - - if dst in ['calibrationTable']: + record_to_insert = convert_dataproduct(row) + if not record_to_insert: continue - # determine collection - collection = 'apertif-imaging' - if dt == 'timeSeries': - collection = 'apertif-timeseries' - - level = 0 - if dst == 'calibratedVisibility': - level=1 - if 'cube' in dt: - level=2 - - # todo: calculate beam - beam = calc_beam(name) - - record_to_insert = (name, pid, observation, beam, ra, dec, collection, level, dt,dst, access_url) target_cursor.execute(sql_scripts.insert_into_skyviews,record_to_insert) target_connection.commit() insert_count = insert_count + 1