def testFieldValidator(self): test = 1 self.assertEqual(field_validator(test), False, 'Field Validator: 1 was a valid Field') test = "X" self.assertEqual(field_validator(test), False, 'Field Validator: X was a valid Field') test = "WP1" self.assertEqual(field_validator(test), True, 'Field Validator: WP1 was not a valid Field')
def __init__(self, date, time, home_team_id, away_team_id, league_id, status="", field=""): ''' Raises: InvalidField TeamDoesNotExist LeagueDoesNotExist ''' # check for all the invalid parameters if not date_validator(date): raise InvalidField(payload={'details':"Game - date"}) if not time_validator(time): raise InvalidField(payload={'details':"Game - time"}) self.date = datetime.strptime(date + "-" +time, '%Y-%m-%d-%H:%M') if (Team.query.get(home_team_id) is None): raise TeamDoesNotExist(payload={'details':home_team_id}) if Team.query.get(away_team_id) is None: raise TeamDoesNotExist(payload={'details':away_team_id}) if League.query.get(league_id) is None: raise LeagueDoesNotExist(payload={'details':league_id}) if ((status != "" and not string_validator(status)) or (field != "" and not field_validator(field))): raise InvalidField(payload={'details':"Game - field/status"}) # must be good now self.home_team_id = home_team_id self.away_team_id = away_team_id self.league_id = league_id self.status = status self.field = field
def update(self, date: str = None, time: str = None, home_team_id: int = None, away_team_id: int = None, league_id: int = None, status: str = None, field: str = None, division_id: int = None) -> None: """Update an existing game. Raises: InvalidField TeamDoesNotExist LeagueDoesNotExist """ d = self.date.strftime("%Y-%m-%d") t = self.date.strftime("%H:%M") if date is not None and date_validator(date): d = date elif date is not None: raise InvalidField(payload={'details': "Game - date"}) if time is not None and time_validator(time): t = time elif time is not None: raise InvalidField(payload={'details': "Game - time"}) if (home_team_id is not None and Team.query.get(home_team_id) is not None): self.home_team_id = home_team_id elif home_team_id is not None: raise TeamDoesNotExist(payload={'details': home_team_id}) if (away_team_id is not None and Team.query.get(away_team_id) is not None): self.away_team_id = away_team_id elif away_team_id is not None: raise TeamDoesNotExist(payload={'details': away_team_id}) if league_id is not None and League.query.get(league_id) is not None: self.league_id = league_id elif league_id is not None: raise LeagueDoesNotExist(payload={'details': league_id}) if status is not None and string_validator(status): self.status = status elif status is not None: raise InvalidField(payload={'details': "Game - status"}) if field is not None and field_validator(field): self.field = field elif field is not None: raise InvalidField(payload={'details': "Game - field"}) if (division_id is not None and Division.query.get(division_id) is not None): self.division_id = division_id elif division_id is not None: raise DivisionDoesNotExist(payload={'details': "division_id"}) # worse case just overwrites it with same date or time self.date = datetime.strptime(d + "-" + t, '%Y-%m-%d-%H:%M')
def update(self, date=None, time=None, home_team_id=None, away_team_id=None, league_id=None, status=None, field=None): ''' updates an existing game Raises: InvalidField TeamDoesNotExist LeagueDoesNotExist ''' d = self.date.strftime("%Y-%m-%d") t = self.date.strftime("%H:%M") if date is not None and date_validator(date): d = date elif date is not None: raise InvalidField(payload={'details':"Game - date"}) if time is not None and time_validator(time): t = time elif time is not None: raise InvalidField(payload={'details':"Game - time"}) if (home_team_id is not None and Team.query.get(home_team_id) is not None): self.home_team_id = home_team_id elif home_team_id is not None: raise TeamDoesNotExist(payload={'details':home_team_id}) if (away_team_id is not None and Team.query.get(away_team_id) is not None): self.away_team_id = away_team_id elif away_team_id is not None: raise TeamDoesNotExist(payload={'details':away_team_id}) if league_id is not None and League.query.get(league_id) is not None: self.league_id = league_id elif league_id is not None: raise LeagueDoesNotExist(payload={'details':league_id}) if status is not None and string_validator(status): self.status = status elif status is not None: raise InvalidField(payload={'details':"Game - status"}) if field is not None and field_validator(field): self.field = field elif field is not None: raise InvalidField(payload={'details':"Game - field"}) # worse case just overwrites it with same date or time self.date = datetime.strptime(d + "-" +t, '%Y-%m-%d-%H:%M')
def __init__(self, date: str, time: str, home_team_id: int, away_team_id: int, league_id: int, division_id: int, status: str = "", field: str = ""): """The Constructor. Raises: InvalidField TeamDoesNotExist LeagueDoesNotExist DivisionDoesNotExist """ # check for all the invalid parameters if not date_validator(date): raise InvalidField(payload={'details': "Game - date"}) if not time_validator(time): raise InvalidField(payload={'details': "Game - time"}) self.date = datetime.strptime(date + "-" + time, '%Y-%m-%d-%H:%M') if (home_team_id is None or Team.query.get(home_team_id) is None): raise TeamDoesNotExist(payload={'details': home_team_id}) if (away_team_id is None or Team.query.get(away_team_id) is None): raise TeamDoesNotExist(payload={'details': away_team_id}) if League.query.get(league_id) is None: raise LeagueDoesNotExist(payload={'details': league_id}) if ((status != "" and not string_validator(status)) or (field != "" and not field_validator(field))): raise InvalidField(payload={'details': "Game - field/status"}) if Division.query.get(division_id) is None: raise DivisionDoesNotExist(payload={'details': division_id}) # must be good now self.home_team_id = home_team_id self.away_team_id = away_team_id self.league_id = league_id self.status = status self.field = field self.division_id = division_id