database.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. """Database module"""
  2. from datetime import datetime
  3. from app import Session
  4. from app.models import State, Player, Factory, FactoryTrack, FactoryStat
  5. def get_state(state_id):
  6. """Get regions from state"""
  7. session = Session()
  8. state = session.query(State).get(state_id)
  9. session.close()
  10. return state
  11. def save_factories(state_id, factories):
  12. """Save factories to database"""
  13. session = Session()
  14. session.close()
  15. factory_track = FactoryTrack()
  16. factory_track.state_id = state_id
  17. factory_track.date_time = datetime.now()
  18. session.add(factory_track)
  19. for factory_dict in factories:
  20. factory = session.query(Factory).get(factory_dict['id'])
  21. if factory is None:
  22. factory = save_factory(session, factory_dict)
  23. factory_stat = FactoryStat()
  24. factory_stat.level = factory_dict['level']
  25. factory_stat.experience = factory_dict['experience']
  26. factory_stat.wage = factory_dict['wage']
  27. factory_stat.workers = factory_dict['workers']
  28. factory_stat.factory_id = factory_dict['id']
  29. factory_stat.factory_track_id = factory_track.id
  30. session.add(factory_stat)
  31. session.commit()
  32. session.close()
  33. def save_factory(session, factory_dict):
  34. """Save factory to database"""
  35. factory = Factory()
  36. factory.id = factory_dict['id']
  37. factory.name = factory_dict['name']
  38. factory.resource_type = factory_dict['resource_type']
  39. session.add(factory)
  40. return factory