import logging import argparse import datetime from . import LOG_DIR from .globeop import download_data, upload_data from sqlalchemy import create_engine logging.basicConfig(filename=LOG_DIR / 'globeop.log', level=logging.INFO, format='%(asctime)s %(message)s') 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=lambda s: datetime.datetime.strptime(s, "%Y-%m-%d"), default=datetime.datetime.today()) args = parser.parse_args() if args.download: download_data(args.date.date()) elif args.upload: engine = create_engine('postgresql://dawn_user@debian/dawndb') upload_data(engine, args.date)