From ac79e79d4719dc17cd906c00ba6ea98482717505 Mon Sep 17 00:00:00 2001
From: Jeremy Fee <jmfee@usgs.gov>
Date: Tue, 17 Dec 2019 14:54:41 -0700
Subject: [PATCH] Update how imfv283 parser checks platform

---
 geomagio/imfv283/IMFV283Parser.py | 7 ++++---
 geomagio/imfv283/imfv283_codes.py | 2 ++
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/geomagio/imfv283/IMFV283Parser.py b/geomagio/imfv283/IMFV283Parser.py
index 6f59bbb15..69a957943 100644
--- a/geomagio/imfv283/IMFV283Parser.py
+++ b/geomagio/imfv283/IMFV283Parser.py
@@ -1,5 +1,5 @@
 """Parsing methods for the IMFV283 Format."""
-from __future__ import absolute_import
+from __future__ import absolute_import, unicode_literals
 from builtins import range
 
 import numpy
@@ -97,7 +97,7 @@ class IMFV283Parser(object):
                 self._post_process(data, msg_header, goes_header)
             except (KeyError, IndexError, ValueError):
                 sys.stderr.write("Incorrect data line ")
-                sys.stderr.write(line)
+                sys.stderr.write(str(line))
 
     def _estimate_data_time(self, transmission, doy, minute,
             max_transmit_delay=1800):
@@ -281,7 +281,8 @@ class IMFV283Parser(object):
         header = {}
 
         header['daps_platform'] = msg[0:8]
-        header['obs'] = imfv283_codes.PLATFORMS[header['daps_platform']]
+        platform = str(header['daps_platform'])
+        header['obs'] = imfv283_codes.PLATFORMS[platform]
         # if it's not in the observatory dictionary, we ignore it.
         if header['obs'] is None:
             return header
diff --git a/geomagio/imfv283/imfv283_codes.py b/geomagio/imfv283/imfv283_codes.py
index 8230fd682..d566ce1e9 100644
--- a/geomagio/imfv283/imfv283_codes.py
+++ b/geomagio/imfv283/imfv283_codes.py
@@ -1,3 +1,5 @@
+from __future__ import unicode_literals
+
 """Dictionary of observatory codes and ness block byte orders"""
 OBSERVATORIES = {
     # USGS
-- 
GitLab