Skip to content
Snippets Groups Projects
Commit 84f20276 authored by Bruce Flynn's avatar Bruce Flynn
Browse files

Make frame a MutableMapping. Do a little linting.

parent dadab83c
No related branches found
No related tags found
No related merge requests found
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)
"""
"""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
......
"""Station metadata.
"""
from datetime import timedelta
# Time between data samples in seconds
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment