from bowdst import get_dir, download_messages from csv import DictReader from citco_ops.bowdst import BowdstWire import datetime def dt_from_fname(f): return datetime.datetime.strptime( f.name.split("_")[1].split(".")[0], "%d %b %Y%H%M%S" ) def load_wire_report(workdate: datetime.date): p = max( [f for f in get_dir(workdate).iterdir() if "BowdstWires" in f.name], key=dt_from_fname, ) if not p: # No files available return with open(p) as fh: reader = DictReader(fh) for line in reader: BowdstWire.from_nexen_line(line).stage() BowdstWire.commit() if __name__ == "__main__": import argparse from serenitas.utils.exchange import ExchangeMessage parser = argparse.ArgumentParser() parser.add_argument( "workdate", nargs="?", type=datetime.date.fromisoformat, default=datetime.date.today(), help="working date", ) args = parser.parse_args() em = ExchangeMessage() download_messages(em) load_wire_report(args.workdate)