xmet/bin/xmet-db-init

34 lines
926 B
Python
Executable file

#! /usr/bin/env python3
import argparse
from xmet.db import Database
from xmet.radar import Radar
from xmet.wfo import WFO
from xmet.igra import IGRAStation
parser = argparse.ArgumentParser(
description = 'Initialize NEXRAD radar site database table'
)
parser.add_argument('db', help='Path to SQLite3 database')
parser.add_argument('radars-tsv', help='Path to NEXRAD radar station TSV file')
parser.add_argument('wfo-tsv', help='Path to forecast office TSV file')
parser.add_argument('igra-stations', help='Path to IGRA station list')
args = parser.parse_args()
db = Database.connect(args.db)
db.execute('begin transaction')
for radar in Radar.each_from_tsv(getattr(args, 'radars-tsv')):
db.add(radar)
for wfo in WFO.each_from_tsv(getattr(args, 'wfo-tsv')):
db.add(wfo)
for station in IGRAStation.each_from_file(getattr(args, 'igra-stations')):
db.add(station)
db.commit()