gatherMarket.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. from market import Market
  2. from player import Player
  3. import marketMonitor
  4. import schedule
  5. import time
  6. from datetime import datetime
  7. from logger import logger
  8. # Handle command arguments
  9. import argparse
  10. parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter,description="",epilog="")
  11. parser.add_argument(
  12. "-p",
  13. "--player",
  14. metavar="yes/no",
  15. default='no',
  16. choices=['yes','no'],
  17. help="Collect player data?"
  18. )
  19. parser.add_argument(
  20. "-l",
  21. "--login",
  22. metavar="yes/no",
  23. default='no',
  24. choices=['yes','no'],
  25. help="Login to Browser?"
  26. )
  27. args = parser.parse_args()
  28. CollectPlayerData = args.player
  29. login_yesno = args.login
  30. if login_yesno == 'yes':
  31. Login = True
  32. else:
  33. Login = False
  34. m=Market(login=Login)
  35. p=Player()
  36. merr=0
  37. perr=0
  38. def jobM():
  39. global m
  40. logger.info("Gathering Market Data.")
  41. try:
  42. m.fetchData()
  43. m.commit()
  44. logger.info("Complete.")
  45. except Exception as e:
  46. logger.error(f"{e}")
  47. merr +=1
  48. if merr >= 3:
  49. merr=0
  50. m=Market()
  51. def jobP():
  52. global p
  53. logger.info("Gathering Player Data.")
  54. try:
  55. p.fetchData()
  56. p.commit()
  57. logger.info("Complete.")
  58. except Exception as e:
  59. logger.error(f"{e}")
  60. perr +=1
  61. if perr >= 3:
  62. perr=0
  63. p=Player()
  64. def jobMM():
  65. logger.info("Gathering Market Data.")
  66. marketMonitor.main()
  67. logger.info("Complete.")
  68. schedule.every(60).seconds.do(jobMM)
  69. jobMM()
  70. schedule.every(10).minutes.do(jobM)
  71. jobM()
  72. if CollectPlayerData == 'yes':
  73. schedule.every(20).minutes.do(jobP)
  74. jobP()
  75. while 1:
  76. schedule.run_pending()
  77. time.sleep(1)