__main__.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. """Main app"""
  2. import time
  3. from app import scheduler, session
  4. from app.api import get_professors
  5. from app.database import get_latest_professor, save_professors
  6. def job_update_department(state_id, department_type):
  7. """Update department professors"""
  8. latest_professor = get_latest_professor(state_id, department_type)
  9. date = None
  10. if latest_professor:
  11. date = latest_professor.date_time
  12. professors = get_professors(state_id, department_type, date)
  13. print_professors(professors)
  14. save_professors(state_id, department_type, professors)
  15. def print_professors(professors):
  16. """Print professors"""
  17. for professor in professors:
  18. print('{:30} {:2} {:>25}'.format(
  19. professor['name'],
  20. professor['points'],
  21. professor['date_time'].strftime('%d %B %Y %H:%M'),
  22. ))
  23. def add_update_department(state_id, department_type):
  24. """Add jobs"""
  25. scheduler.add_job(
  26. job_update_department,
  27. 'cron',
  28. args=[state_id, department_type],
  29. id='{}_{}'.format(state_id, department_type),
  30. replace_existing=True,
  31. hour='20'
  32. )
  33. if __name__ == '__main__':
  34. # jobs
  35. # job_update_department(2788, 6)
  36. # VN
  37. # uranium
  38. add_update_department(2788, 6)
  39. # gold
  40. add_update_department(2788, 2)
  41. # construction
  42. add_update_department(2788, 1)
  43. # oil
  44. add_update_department(2788, 3)
  45. # Belgium
  46. # gold
  47. add_update_department(2604, 2)
  48. # De Provincien
  49. # gold
  50. add_update_department(2620, 2)
  51. try:
  52. while True:
  53. time.sleep(100)
  54. except KeyboardInterrupt:
  55. print('Exiting application')
  56. session.close()
  57. exit()