Example #1
0
 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')
Example #2
0
 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
Example #3
0
    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')
Example #4
0
 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')
Example #5
0
    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