예제 #1
0
def main():

    files = [
        f for f in os.listdir(constants.LOGDIR_EXTRACT) if 'pbp_espn' in f
    ]
    for f in files:
        print f
        game_id = db.nba_query("SELECT id FROM game WHERE abbrev = '%s'" %
                               f.replace('_pbp_espn', ''))[0][0]

        newfiledata = []
        newfiledata = [[game_id] + line.rstrip().split(',')
                       for line in open(constants.LOGDIR_EXTRACT + f, 'r')]
        writer = csv.writer(open(constants.LOGDIR_EXTRACT + 'tmpextract_ref',
                                 'wb'),
                            delimiter=',',
                            lineterminator='\n')
        writer.writerows(newfiledata)

        sql = """
            LOAD DATA LOCAL INFILE '%s' REPLACE
            INTO TABLE extract_ref
            FIELDS TERMINATED BY ','
            LINES TERMINATED BY '\n'
            (game_id,period_name, play_num, time_left,away_score,home_score,away_play,home_play)
        """ % (constants.LOGDIR_EXTRACT + 'tmpextract_ref')
        db.nba_query(sql)
예제 #2
0
 def _getNumberOfPeriods(self):
     return db.nba_query(
         """
         SELECT MAX(period) FROM playbyplay_espn 
         WHERE game_id = %s  and period <= 4
     """
         % self.game_id
     )[0][0]
예제 #3
0
 def _getCurrentPlayers(self, team_id):
     sql = """ 
         SELECT p.id
         FROM player_nbacom_by_game nbacom
             INNER JOIN player p ON p.nbacom_player_id = nbacom.nbacom_player_id
         WHERE nbacom.team = %s AND nbacom.game_id = %s
     """ % (team_id, self.game_id)
     return [itm[0] for itm in db.nba_query(sql)]
예제 #4
0
    def _saveToDatabase(self, away_fiveman, home_fiveman):

        # Away fiveman unit
        for quarter_row in away_fiveman:
            for row in quarter_row:
                db.nba_query("""
                    UPDATE pbp2 SET away_fiveman = '%s' WHERE game_id = %s AND play_num = %s AND period = %s
                """ % (','.join(map(str, row['unit'])), self.game_id,
                       row['play_number'], row['period']))

        # home fiveman unit
        for quarter_row in home_fiveman:
            for row in quarter_row:
                db.nba_query("""
                    UPDATE pbp2 SET home_fiveman = '%s' WHERE game_id = %s AND play_num = %s AND period = %s
                """ % (','.join(map(str, row['unit'])), self.game_id,
                       row['play_number'], row['period']))
예제 #5
0
 def _getCurrentPlayers(self, team_id):
     sql = """ 
         SELECT p.id
         FROM player_nbacom_by_game nbacom
             INNER JOIN player p ON p.nbacom_player_id = nbacom.nbacom_player_id
         WHERE nbacom.team = %s AND nbacom.game_id = %s
     """ % (
         team_id,
         self.game_id,
     )
     return [itm[0] for itm in db.nba_query(sql)]
예제 #6
0
def main():

    files = [f for f in os.listdir(constants.LOGDIR_EXTRACT) if 'pbp_espn' in f]
    for f in files:
        print f
        game_id = db.nba_query("SELECT id FROM game WHERE abbrev = '%s'" % f.replace('_pbp_espn',''))[0][0]

        newfiledata = []
        newfiledata = [[game_id] + line.rstrip().split(',') for line in open(constants.LOGDIR_EXTRACT + f,'r')]
        writer = csv.writer(open(constants.LOGDIR_EXTRACT + 'tmpextract_ref','wb'),delimiter=',',lineterminator='\n')
        writer.writerows(newfiledata)

        sql = """
            LOAD DATA LOCAL INFILE '%s' REPLACE
            INTO TABLE extract_ref
            FIELDS TERMINATED BY ','
            LINES TERMINATED BY '\n'
            (game_id,period_name, play_num, time_left,away_score,home_score,away_play,home_play)
        """ % (constants.LOGDIR_EXTRACT + 'tmpextract_ref')
        db.nba_query(sql)
예제 #7
0
    def _saveToDatabase(self, away_fiveman, home_fiveman):

        # Away fiveman unit
        for quarter_row in away_fiveman:
            for row in quarter_row:
                db.nba_query(
                    """
                    UPDATE pbp2 SET away_fiveman = '%s' WHERE game_id = %s AND play_num = %s AND period = %s
                """
                    % (",".join(map(str, row["unit"])), self.game_id, row["play_number"], row["period"])
                )

        # home fiveman unit
        for quarter_row in home_fiveman:
            for row in quarter_row:
                db.nba_query(
                    """
                    UPDATE pbp2 SET home_fiveman = '%s' WHERE game_id = %s AND play_num = %s AND period = %s
                """
                    % (",".join(map(str, row["unit"])), self.game_id, row["play_number"], row["period"])
                )
    def testShotDefinitions(self):
        shots = db.nba_query("SELECT * FROM cbsshot") 

        for line in self.obj.assertShotDefinitions():
            converted = (int(line[0]),line[1])
            self.assertTrue(converted in shots, "%s not found in known shots" % str(line))
예제 #9
0
 def _getNumberOfPeriods(self):
     return db.nba_query("""
         SELECT MAX(period) FROM playbyplay_espn 
         WHERE game_id = %s  and period <= 4
     """ % self.game_id)[0][0]