From 660484b38e66c218b94e2e74946f33d9e40975ab Mon Sep 17 00:00:00 2001 From: davidh-ssec <david.hoese@ssec.wisc.edu> Date: Tue, 19 Dec 2017 15:56:02 -0600 Subject: [PATCH] Rename symbol keys in ldmp generated records for legacy db insert --- aosstower/level_00/legacy_db_insert.py | 34 +++++++++++++++++++++++++- aosstower/level_00/parser.py | 6 ++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/aosstower/level_00/legacy_db_insert.py b/aosstower/level_00/legacy_db_insert.py index 9426f46..4704d11 100644 --- a/aosstower/level_00/legacy_db_insert.py +++ b/aosstower/level_00/legacy_db_insert.py @@ -18,6 +18,38 @@ LOG = logging.getLogger(__name__) ERR = logging.getLogger(__name__ + '.error') +_symbol_record_map = ( + (1, 'station'), + (2, 'year'), + (3, 'day'), + (4, 'hour_minute'), + (5, 'seconds'), + (6, 'box_pressure'), + (7, 'parosci_air_temp_period'), + (8, 'parosci_pressure_period'), + (9, 'parosci_air_temp'), + (10, 'pressure'), + (11, 'parosci_calc_sig'), + (12, 'box_rh'), + (13, 'box_air_temp'), + (14, 'temp2'), + (15, 'temp3'), + (16, 'temp4'), + (17, 'wind_speed'), + (18, 'wind_direction'), + (19, 'rh_shield_freq'), + (20, 'relative_humidity'), + (21, 'air_temp_6_3'), + (22, 'dewpoint'), + (23, 'rtd_shield_freq'), + (24, 'air_temp'), + (25, 'solar_flux'), + (26, 'precipitation'), + (27, 'accumulated_precipitation'), + (28, 'altimeter'), +) + + def configure_logging(level, logfn=None): handler = logging.StreamHandler(sys.stdout) handler.setFormatter(logging.Formatter("%(asctime)s: %(message)s")) @@ -74,7 +106,7 @@ def main(): if args.ldmp: from aosstower.level_00.parser import ldmp_generator - record_gen = ldmp_generator(args.src, args.tables) + record_gen = ldmp_generator(args.src, args.tables, symbol_names=[x[1] for x in _symbol_record_map]) else: src = open(args.src, "r") record_gen = read_frames(src, tail=args.tail) diff --git a/aosstower/level_00/parser.py b/aosstower/level_00/parser.py index 6d3eb73..050492f 100644 --- a/aosstower/level_00/parser.py +++ b/aosstower/level_00/parser.py @@ -215,13 +215,13 @@ def read_frames(source, error_handler=lambda *a: None, tail=False): error_handler(idx + 1, line, RuntimeError("no parser found", line)) -def loggernet_to_tower(rec_dict): +def loggernet_to_tower(rec_dict, symbol_names): """Convert loggernet record dictionary to our standard naming""" # assume that the next record after the traditional frame is the timestamp - return _make_frame(zip(['timestamp'] + ParserV1V2.names, rec_dict.values()), rename_timestamp=True) + return _make_frame(zip(['timestamp'] + symbol_names, rec_dict.values()), rename_timestamp=True) -def ldmp_generator(station_name, tables): +def ldmp_generator(station_name, tables, symbol_names=ParserV1V2.names): from metobscommon.archive.loggernet_receiver import dict_records, ldmp_receiver receiver = ldmp_receiver() # This should be generated OrderedDicts -- GitLab