__main__.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. """Main app"""
  2. import time
  3. from app import scheduler, session, LOGGER
  4. from app.api import get_citizens, get_residents
  5. from app.database import get_state_regions, save_citizens, save_residents
  6. def print_players(players):
  7. """Print professors"""
  8. for player in players:
  9. print('{:20} {:30}'.format(
  10. player['id'],
  11. player['name'],
  12. ))
  13. def job_update_citizens(state_id):
  14. """Update citizens"""
  15. LOGGER.info('Run update citizens for state "%s"', state_id)
  16. regions = get_state_regions(state_id)
  17. for region in regions:
  18. LOGGER.info('"%s": get citizens', region.name)
  19. citizens = get_citizens(region.id)
  20. LOGGER.info('"%s": "%s" citizens', region.name, len(citizens))
  21. # print_players(citizens)
  22. save_citizens(region.id, citizens)
  23. LOGGER.info('"%s": done saving citizens', region.name)
  24. def job_update_residents(state_id):
  25. """Update residents"""
  26. LOGGER.info('Run update residents for state "%s"', state_id)
  27. regions = get_state_regions(state_id)
  28. for region in regions:
  29. LOGGER.info('"%s": get residents', region.name)
  30. residents = get_residents(region.id)
  31. LOGGER.info('"%s": "%s" residents ', region.name, len(residents))
  32. # print_players(residents)
  33. save_residents(region.id, residents)
  34. LOGGER.info('"%s": done saving residents', region.name)
  35. def add_update_citizens(state_id):
  36. """Add jobs"""
  37. scheduler.add_job(
  38. job_update_citizens,
  39. 'cron',
  40. args=[state_id],
  41. id='citizens_{}'.format(state_id),
  42. replace_existing=True,
  43. hour='1,3,5,7,9,11,13,15,17,19,21,23'
  44. )
  45. def add_update_residents(state_id):
  46. """Add jobs"""
  47. scheduler.add_job(
  48. job_update_residents,
  49. 'cron',
  50. args=[state_id],
  51. id='residents_{}'.format(state_id),
  52. replace_existing=True,
  53. hour='1,7,13,19'
  54. )
  55. if __name__ == '__main__':
  56. # jobs
  57. # job_update_citizens(2788)
  58. # job_update_residents(2788)
  59. # Verenigde Nederlanden
  60. add_update_citizens(2788)
  61. add_update_residents(2788)
  62. # Belgium
  63. add_update_citizens(2604)
  64. add_update_residents(2604)
  65. # De Provincien
  66. add_update_citizens(2620)
  67. add_update_residents(2620)
  68. try:
  69. while True:
  70. time.sleep(100)
  71. except KeyboardInterrupt:
  72. print('Exiting application')
  73. session.close()
  74. exit()