Data loading over socket.

This commit is contained in:
luxick
2018-03-03 18:52:13 +01:00
parent 8516650af4
commit 25d237e81e
23 changed files with 155 additions and 37 deletions

View File

@@ -0,0 +1,33 @@
from dsst_server.data_access import sql
from common import models
def map_base_fields(cls, db_model):
model = cls()
attrs = [attr for attr in db_model._meta.fields]
for attr in attrs:
setattr(model, attr, getattr(db_model, attr))
return model
def db_to_enemy(enemy: 'sql.Enemy'):
return map_base_fields(models.Enemy, enemy)
def db_to_player(player: 'sql.Player'):
model = map_base_fields(models.Player, player)
return model
def db_to_episode(episode: 'sql.Episode'):
model = map_base_fields(models.Episode, episode)
model.players = [db_to_player(player) for player in episode.players]
model.deaths = []
model.victories = []
def db_to_season(season: 'sql.Season'):
model = map_base_fields(models.Season, season)
model.enemies = [db_to_enemy(enemy) for enemy in season.enemies]
model.episodes = [db_to_episode(ep) for ep in season.episodes]
return model