Additional loading functions.

This commit is contained in:
luxick
2018-03-05 22:57:14 +01:00
parent 25d237e81e
commit 8b0422b1b0
9 changed files with 140 additions and 66 deletions

View File

@@ -10,20 +10,46 @@ def map_base_fields(cls, db_model):
return model
def db_to_drink(drink: 'sql.Drink'):
return map_base_fields(models.Drink, drink)
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 map_base_fields(models.Player, player)
def db_to_penalty(penalty: 'sql.Penalty'):
model = map_base_fields(models.Penalty, penalty)
model.drink = db_to_drink(penalty.drink)
model.player = db_to_player(penalty.player)
return model
def db_to_death(death: 'sql.Death'):
model = map_base_fields(models.Death, death)
model.player = db_to_player(death.player)
model.enemy = db_to_enemy(death.enemy)
model.penalties = [db_to_penalty(penalty) for penalty in death.penalties]
return model
def db_to_victory(victory: 'sql.Victory'):
model = map_base_fields(models.Victory, victory)
model.player = db_to_player(victory.player)
model.enemy = db_to_enemy(victory.enemy)
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 = []
model.deaths = [db_to_death(death) for death in episode.deaths]
model.victories = [db_to_victory(victory) for victory in episode.victories]
return model
def db_to_season(season: 'sql.Season'):