from market import Market from player import Player import schedule import time from datetime import datetime from logger import logger # Handle command arguments import argparse parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter,description="",epilog="") parser.add_argument( "-p", "--player", metavar="yes/no", default='no', choices=['yes','no'], help="Collect player data?" ) parser.add_argument( "-l", "--login", metavar="yes/no", default='no', choices=['yes','no'], help="Login to Browser?" ) args = parser.parse_args() CollectPlayerData = args.player login_yesno = args.login if login_yesno == 'yes': Login = True else: Login = False m=Market(login=Login) p=Player() merr=0 perr=0 def jobM(): global m logger.info("Gathering Market Data.") try: m.fetchData() m.commit() logger.info("Complete.") except Exception as e: logger.error(f"{e}") merr +=1 if merr >= 3: merr=0 m=Market() def jobP(): global p logger.info("Gathering Player Data.") try: p.fetchData() p.commit() logger.info("Complete.") except Exception as e: logger.error(f"{e}") perr +=1 if perr >= 3: perr=0 p=Player() schedule.every(15).minutes.do(jobM) jobM() if CollectPlayerData == 'yes': schedule.every(15).minutes.do(jobP) jobP() while 1: schedule.run_pending() time.sleep(1)