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 from aosstower import station
class Frame(dict): class Frame(MutableMapping):
def __init__(self, width=station.DATA_INTERVAL): def __init__(self, width=station.DATA_INTERVAL):
self._data = {}
self.width = width self.width = width
def __getattr__(self, name, default=None): def __getattr__(self, name, default=None):
return self.get(name, default) 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 Data Versions
============= =============
There have so far been 3 changes to the format of the raw ASCII data over the 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 ...@@ -38,7 +39,6 @@ from datetime import datetime, timedelta
from metobs import data as d from metobs import data as d
from aosstower.schema import database from aosstower.schema import database
from aosstower.frame import Frame
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
...@@ -57,14 +57,13 @@ class LineParseError(Exception): ...@@ -57,14 +57,13 @@ class LineParseError(Exception):
def _make_frame(data): def _make_frame(data):
"""Construct a frame from a list of tuples. """Construct a frame from a list of tuples.
""" """
frame = Frame()
for key, value in data: for key, value in data:
if key == 'stamp': if key == 'stamp':
continue continue
if key in database: if key in database:
try: try:
data[key] = database[key].type(data[key]) data[key] = database[key].type(data[key])
except (ValueError, TypeError) as err: except (ValueError, TypeError):
raise LineParseError("error converting '%s' using %s", raise LineParseError("error converting '%s' using %s",
data[key], database[key].type) data[key], database[key].type)
return data return data
......
"""Station metadata.
"""
from datetime import timedelta from datetime import timedelta
# Time between data samples in seconds # 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