#! /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()