From 23489a297af129026fac24f817ff9192b5ccb0eb Mon Sep 17 00:00:00 2001
From: Bruce Flynn <brucef@ssec.wisc.edu>
Date: Thu, 25 Sep 2014 01:24:53 +0000
Subject: [PATCH] Handle type converstion issues when parsing records.

---
 aosstower/l00/parser.py  | 6 +++++-
 scripts/make_database.py | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/aosstower/l00/parser.py b/aosstower/l00/parser.py
index bded52a..4ee8f08 100644
--- a/aosstower/l00/parser.py
+++ b/aosstower/l00/parser.py
@@ -75,7 +75,11 @@ def _make_record(data):
         if key == 'stamp':
             continue
         if key in database:
-            data[key] = database[key].type(data[key])
+            try:
+                data[key] = database[key].type(data[key])
+            except (ValueError, TypeError) as err:
+                raise LineParseError("error converting '%s' using %s", 
+                                     data[key], database[key].type)
     return data
 
 
diff --git a/scripts/make_database.py b/scripts/make_database.py
index 1fd6120..4b34d09 100755
--- a/scripts/make_database.py
+++ b/scripts/make_database.py
@@ -52,6 +52,6 @@ if __name__ == '__main__':
         for record in read_records(fpath):
             try:
                 rrd.add_record(record['stamp'], record)
-            except ModelError:
-                LOG.exception("Could not insert: %s", record)
+            except ModelError as err:
+                LOG.error("Insert failed: %s", err)
 
-- 
GitLab