From 84f202766b94a4f0e2d1b880d82f714e9c821212 Mon Sep 17 00:00:00 2001 From: Bruce Flynn <brucef@ssec.wisc.edu> Date: Mon, 29 Dec 2014 12:40:30 -0600 Subject: [PATCH] Make frame a MutableMapping. Do a little linting. --- aosstower/frame.py | 20 +++++++++++++++++++- aosstower/l00/parser.py | 7 +++---- aosstower/station.py | 2 ++ 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/aosstower/frame.py b/aosstower/frame.py index 0878fd2..b2b8379 100644 --- a/aosstower/frame.py +++ b/aosstower/frame.py @@ -1,10 +1,28 @@ +from _abcoll import MutableMapping + from aosstower import station -class Frame(dict): +class Frame(MutableMapping): def __init__(self, width=station.DATA_INTERVAL): + self._data = {} self.width = width def __getattr__(self, name, default=None): return self.get(name, default) + + def __getitem__(self, name): + return self._data[name] + + def __setitem__(self, name, value): + self._data[name] = value + + def __delitem__(self, name): + del self._data[name] + + def __iter__(self): + return iter(self._data) + + def __len__(self): + return len(self._data) diff --git a/aosstower/l00/parser.py b/aosstower/l00/parser.py index 4b58d83..7464a91 100644 --- a/aosstower/l00/parser.py +++ b/aosstower/l00/parser.py @@ -1,4 +1,5 @@ -""" +"""Code to parse level 00 data. + Data Versions ============= There have so far been 3 changes to the format of the raw ASCII data over the @@ -38,7 +39,6 @@ from datetime import datetime, timedelta from metobs import data as d from aosstower.schema import database -from aosstower.frame import Frame LOG = logging.getLogger(__name__) @@ -57,14 +57,13 @@ class LineParseError(Exception): def _make_frame(data): """Construct a frame from a list of tuples. """ - frame = Frame() for key, value in data: if key == 'stamp': continue if key in database: try: data[key] = database[key].type(data[key]) - except (ValueError, TypeError) as err: + except (ValueError, TypeError): raise LineParseError("error converting '%s' using %s", data[key], database[key].type) return data diff --git a/aosstower/station.py b/aosstower/station.py index 4197d40..400afa8 100644 --- a/aosstower/station.py +++ b/aosstower/station.py @@ -1,3 +1,5 @@ +"""Station metadata. +""" from datetime import timedelta # Time between data samples in seconds -- GitLab