2025-02-11 21:42:22 -05:00
|
|
|
#! /usr/bin/env python3
|
|
|
|
|
|
|
|
import argparse
|
|
|
|
|
2025-02-22 13:53:54 -05:00
|
|
|
from xmet.db import Database
|
|
|
|
from xmet.radar import Radar
|
|
|
|
from xmet.wfo import WFO
|
2025-02-11 21:42:22 -05:00
|
|
|
|
|
|
|
parser = argparse.ArgumentParser(
|
2025-02-22 13:53:54 -05:00
|
|
|
description = 'Initialize NEXRAD radar site database table'
|
2025-02-11 21:42:22 -05:00
|
|
|
)
|
|
|
|
|
2025-02-14 15:41:02 -05:00
|
|
|
parser.add_argument('db', help='Path to SQLite3 database')
|
2025-02-11 21:42:22 -05:00
|
|
|
parser.add_argument('radars-tsv', help='Path to NEXRAD radar station TSV file')
|
2025-02-21 16:30:19 -05:00
|
|
|
parser.add_argument('wfo-tsv', help='Path to forecast office TSV file')
|
2025-02-11 21:42:22 -05:00
|
|
|
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
|
|
db = Database.connect(args.db)
|
|
|
|
|
|
|
|
db.execute('begin transaction')
|
|
|
|
|
|
|
|
for radar in Radar.each_from_tsv(getattr(args, 'radars-tsv')):
|
2025-02-14 15:32:15 -05:00
|
|
|
db.add(radar)
|
2025-02-11 21:42:22 -05:00
|
|
|
|
2025-02-21 16:30:19 -05:00
|
|
|
for wfo in WFO.each_from_tsv(getattr(args, 'wfo-tsv')):
|
|
|
|
db.add(wfo)
|
|
|
|
|
2025-02-11 21:42:22 -05:00
|
|
|
db.commit()
|