1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import logging
import argparse
import datetime
from .globeop import download_data, upload_data
from sqlalchemy import create_engine
from serenitas.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:
for fund in ("SERCGMAST", "BOWDST"):
download_data(engine, args.date, fund)
elif args.upload:
time = datetime.datetime.now().time()
date = datetime.datetime.combine(args.date, time)
upload_data(engine, date)
|