Add enemy creator.

This commit is contained in:
2019-01-12 16:27:51 +01:00
parent 9df47d7bb6
commit 9aa3d4395b
5 changed files with 136 additions and 24 deletions

View File

@@ -52,6 +52,7 @@ class Enemy:
id: int
name: str
boss: bool
season_id: int
@classmethod
def from_form(cls, form):
@@ -63,11 +64,19 @@ class Enemy:
raise AttributeError(INVALID_STR.format('name'))
name = str(name)
boss = form.get('boss', '')
boss = form.get('boss', False)
if boss not in [True, False, 'True', 'False']:
raise AttributeError(INVALID_STR.format('boss'))
boss = bool(boss)
self = cls(id=id, name=name, boss=boss)
season = form.get('season', None)
if season not in ['None', None]:
try:
season = int(season)
except ValueError:
raise AttributeError(INVALID_STR.format('boss'))
self = cls(id=id, name=name, boss=boss, season_id=season)
return self