gear-orders/main.py

39 lines
1.2 KiB
Python

import sys
import logging
import argparse
import asyncio
from scheduling import OrderScheduler
from orders import order_issue, order_check
logger = logging.getLogger(__name__)
if __name__=='__main__':
logging.basicConfig(
format="%(asctime)s %(module)s [%(levelname)-4.4s] %(message)s",
handlers=[
logging.StreamHandler(sys.stdout)
],
level=logging.INFO)
parser = argparse.ArgumentParser(description="Generate gear orders", prog='PROG')
subparsers = parser.add_subparsers(help="Sub-command help", dest="command")
parser_immediate = subparsers.add_parser('immediate', help='Immediately generate a command')
parser_check = subparsers.add_parser('check', help="Checks if any orders are outstanding")
args = parser.parse_args()
if args.command == 'immediate':
loop = asyncio.new_event_loop()
loop.run_until_complete(order_issue())
loop.close()
elif args.command == 'check':
loop = asyncio.new_event_loop()
loop.run_until_complete(order_check())
loop.close()
else:
loop = asyncio.new_event_loop()
s = OrderScheduler(loop)
loop.run_forever()