__main__.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. """Main app"""
  2. import time
  3. from app import scheduler, LOGGER
  4. from app.api import get_factories
  5. from app.database import get_state, save_factories
  6. def print_factories(factories):
  7. """Print professors"""
  8. for factory in factories:
  9. print('{:30} {:24} {:2} {:3} {:3}'.format(
  10. factory['name'],
  11. factory['region_name'],
  12. factory['resource_type'],
  13. factory['level'],
  14. factory['workers'],
  15. ))
  16. def job_update_factories(state_id):
  17. """Update factories"""
  18. LOGGER.info('Run update factories for state "%s"', state_id)
  19. state = get_state(state_id)
  20. LOGGER.info('"%s": get factories', state.name)
  21. factories = get_factories(state.id)
  22. LOGGER.info('"%s": "%s" factories', state.name, len(factories))
  23. print_factories(factories)
  24. save_factories(state.id, factories)
  25. LOGGER.info('"%s": done saving factories', state.name)
  26. def add_update_factories(state_id):
  27. """Add jobs"""
  28. scheduler.add_job(
  29. job_update_factories,
  30. 'cron',
  31. args=[state_id],
  32. id='factories_{}'.format(state_id),
  33. replace_existing=True,
  34. hour='2'
  35. )
  36. if __name__ == '__main__':
  37. # jobs
  38. job_update_factories(2788)
  39. # Verenigde Nederlanden
  40. add_update_factories(2788)
  41. # Belgium
  42. add_update_factories(2604)
  43. # De Provincien
  44. add_update_factories(2620)
  45. try:
  46. while True:
  47. time.sleep(100)
  48. except KeyboardInterrupt:
  49. LOGGER.info('Exiting application')
  50. exit()