database.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. """Main application"""
  2. from datetime import datetime
  3. from app import SESSION
  4. from app.models import ResourceTrack, ResourceStat, Region
  5. def save_resources(state_id, regions, resource_id):
  6. """Save resources to database"""
  7. session = SESSION()
  8. resource_track = ResourceTrack()
  9. resource_track.state_id = state_id
  10. resource_track.resource_type = resource_id
  11. resource_track.date_time = datetime.now()
  12. session.add(resource_track)
  13. session.commit()
  14. for region_id, region_dict in regions.items():
  15. region = session.query(Region).get(region_id)
  16. if not region:
  17. region = save_region(session, region_id, region_dict)
  18. resource_stat = ResourceStat()
  19. resource_stat.resource_track_id = resource_track.id
  20. resource_stat.region_id = region.id
  21. resource_stat.explored = region_dict['explored']
  22. resource_stat.deep_exploration = region_dict['deep_exploration']
  23. resource_stat.limit_left = region_dict['limit_left']
  24. session.add(resource_stat)
  25. session.commit()
  26. session.close()
  27. def save_region(session, region_id, region_dict):
  28. """Save player to database"""
  29. region = Region()
  30. region.id = region_id
  31. region.name = region_dict['region_name']
  32. session.add(region)
  33. return region