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