import logging import argparse import datetime from .globeop import download_data, upload_data from sqlalchemy import create_engine from utils import SerenitasFileHandler fh = SerenitasFileHandler("globeop.log") logger = logging.getLogger("task_server") logger.handlers = [] logger.addHandler(fh) logger.setLevel(logging.INFO) parser = argparse.ArgumentParser() group = parser.add_mutually_exclusive_group(required=True) ## options are technically not exclusive, but we will be running them ## at different times of the day group.add_argument( "-d", "--download", action="store_true", help="download reports from GlobeOp" ) group.add_argument( "-u", "--upload", action="store_true", help="upload marks to GlobeOp" ) parser.add_argument( "date", nargs="?", type=datetime.date.fromisoformat, default=datetime.date.today() ) args = parser.parse_args() engine = create_engine("postgresql://dawn_user@debian/dawndb") if args.download: download_data(engine, args.date) elif args.upload: upload_data(engine, args.date)