__main__.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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, get_regions, save_factories
  6. def print_factories(factories):
  7. """Print professors"""
  8. for factory in factories:
  9. print(factory)
  10. def job_update_factories(state_id):
  11. """Update factories"""
  12. LOGGER.info('Run update factories for state "%s"', state_id)
  13. state = get_state(state_id)
  14. LOGGER.info('"%s": get regions', state.name)
  15. regions = get_regions(state.id)
  16. factory_list = []
  17. for region in regions:
  18. LOGGER.info('"%s": get factories', region.name)
  19. factories = get_factories(region.id)
  20. LOGGER.info('"%s": "%s" factories', region.name, len(factories))
  21. factory_list += factories
  22. print_factories(factories)
  23. save_factories(state_id, factory_list)
  24. LOGGER.info('"%s": done saving factories', state.name)
  25. def add_update_factories(state_id):
  26. """Add jobs"""
  27. SCHEDULER.add_job(
  28. job_update_factories,
  29. 'cron',
  30. args=[state_id],
  31. id='factories_{}'.format(state_id),
  32. replace_existing=True,
  33. hour='2,14'
  34. )
  35. if __name__ == '__main__':
  36. job_update_factories(2788)
  37. # jobs
  38. # Verenigde Nederlanden
  39. add_update_factories(2788)
  40. # Belgium
  41. add_update_factories(2604)
  42. # De Provincien
  43. add_update_factories(2620)
  44. try:
  45. while True:
  46. time.sleep(100)
  47. except KeyboardInterrupt:
  48. LOGGER.info('Exiting application')
  49. SCHEDULER.shutdown()
  50. exit()