#! /usr/bin/env python3 import argparse from xmet.db import Database from xmet.radar import Radar from xmet.wfo import WFO from xmet.city import City 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', type=str, help='Path to NEXRAD radar station TSV file') parser.add_argument('--wfo-tsv', type=str, help='Path to forecast office TSV file') parser.add_argument('--cities-tsv', type=str, help='Path to cities TSV file') parser.add_argument('--igra-stations', type=str, help='Path to IGRA station list') args = parser.parse_args() db = Database.connect(args.db) db.execute('begin transaction') if args.radars_tsv is not None: for radar in Radar.each_from_tsv(args.radars_tsv): db.add(radar) if args.wfo_tsv is not None: for wfo in WFO.each_from_tsv(args.wfo_tsv): db.add(wfo) if args.cities_tsv is not None: for city in City.each_from_tsv(args.cities_tsv): db.add(city) if args.igra_stations is not None: for station in IGRAStation.each_from_file(args.igra_stations): db.add(station) db.commit()