Skip to content
Snippets Groups Projects
rrd_fill.py 1.14 KiB
Newer Older
#!/usr/bin/env python

import sys
import glob
from datetime import datetime

from aosstower.record import RecordV1, LineParseError
from aosstower.model import RrdModel
from aosstower import wind


if __name__ == '__main__':

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('db')
    parser.add_argument('path')

    args = parser.parse_args()

    model = RrdModel(args.db)
    model.initialize(datetime(2013, 1, 1))

    for filepath in glob.glob(args.path):
        print >> sys.stderr, filepath
        for line in open(filepath).readlines():
            if not line.strip():
                continue
            try:
                record = RecordV1(line)
            except LineParseError as err:
                continue

            windspd = float(record['wind_speed'])
            winddir = float(record['wind_dir'])
Bruce Flynn's avatar
Bruce Flynn committed
            u_e, u_n, spd = wind.wind_vector_components(windspd, winddir)
            record['winddir_east'] = u_e
            record['winddir_north'] = u_n
            record['wind_speed'] = spd

            try:
                model._print(record)
            except Exception as err:
                raise