xmet/bin/xmet-db-init

39 lines
1 KiB
Text
Raw Normal View History

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-25 10:32:31 -05:00
from xmet.igra import IGRAStation
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
)
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('--igra-stations', type=str, help='Path to IGRA station list')
2025-02-11 21:42:22 -05:00
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)
2025-02-11 21:42:22 -05:00
if args.wfo_tsv is not None:
for wfo in WFO.each_from_tsv(args.wfo_tsv):
db.add(wfo)
if args.igra_stations is not None:
for station in IGRAStation.each_from_file(args.igra_stations):
db.add(station)
2025-02-25 10:32:31 -05:00
2025-02-11 21:42:22 -05:00
db.commit()