예제 #1
0
    def testLoad_2009_04_12(self):
        gamedayDirectory = GamedayDirectoryStructure(GamedayConfig.mlbGamedayApplicationURL, "mlb")

        gamedayGameURLs = gamedayDirectory.getGameURLsForDay(("2009", "04", "12"))

        for gameURL in gamedayGameURLs:
            xmlProvider = GamedayXMLProvider(gameURL)

            gameStatsWorkList = GameStatsWorkList()

            gameLoader = GamedayGameLoader(self.db, xmlProvider, gameStatsWorkList)

            if gameLoader.isAlreadyLoaded():
                gameLoader.delete()

            logging.info("loading:" + xmlProvider.getGameName())

            gameLoader.loadGame()

            loaded = gameLoader.isAlreadyLoaded()

            self.assertTrue(loaded)

        logging.info("")
        logging.info("load complete!")
예제 #2
0
    def testLoad_2009_04_12(self):
        gamedayDirectory = GamedayDirectoryStructure(
            GamedayConfig.mlbGamedayApplicationURL, "mlb")

        gamedayGameURLs = gamedayDirectory.getGameURLsForDay(
            ("2009", "04", "12"))

        for gameURL in gamedayGameURLs:
            xmlProvider = GamedayXMLProvider(gameURL)

            gameStatsWorkList = GameStatsWorkList()

            gameLoader = GamedayGameLoader(self.db, xmlProvider,
                                           gameStatsWorkList)

            if gameLoader.isAlreadyLoaded():
                gameLoader.delete()

            logging.info("loading:" + xmlProvider.getGameName())

            gameLoader.loadGame()

            loaded = gameLoader.isAlreadyLoaded()

            self.assertTrue(loaded)

        logging.info("")
        logging.info("load complete!")
예제 #3
0
def main():

    options = commandLineOptionsParser.parseDeleteOptions()

    logging.info("Starting delete!")

    league = options.league

    gamedayDirectory = GamedayDirectoryStructure(BBOSConfig.gamedayURL, league)

    if not options.game:
        logging.error(
            "delete only accepts league and -g gameName as parameters")

    gamedayGameURLs = gamedayDirectory.getGameURLsForGame(options.game)

    xmlProvider = GamedayXMLProvider(gamedayGameURLs[0])

    db = DB()

    gameStatsWorkList = GameStatsWorkList()

    gameLoader = GamedayGameLoader(db, xmlProvider, gameStatsWorkList)

    gameLoader.delete()

    logging.info("")
    logging.info("delete complete!")
예제 #4
0
def main():
    
    options = commandLineOptionsParser.parseDeleteOptions()
    
    logging.info("Starting delete!")
    
    league = options.league
    
    gamedayDirectory = GamedayDirectoryStructure(BBOSConfig.gamedayURL, league)
    
    if not options.game:
        logging.error("delete only accepts league and -g gameName as parameters")
        
    gamedayGameURLs = gamedayDirectory.getGameURLsForGame(options.game)  
    
    xmlProvider = GamedayXMLProvider(gamedayGameURLs[0])
        
    db = DB();
        
    gameStatsWorkList = GameStatsWorkList()
            
    gameLoader = GamedayGameLoader(db, xmlProvider, gameStatsWorkList)
        
    gameLoader.delete()
    
    logging.info("")
    logging.info("delete complete!")
예제 #5
0
 def setUp(self):
     self.db = DB();
     
     league = "mlb"
     
     self.gamedayDirectory = GamedayDirectoryStructure(GamedayConfig.mlbGamedayApplicationURL, league)
     
     self.performanceFileName = "./performance.log"
예제 #6
0
class GamedayLoaderFTest(FTest):
    
    def setUp(self):
        self.db = DB();
        
        league = "mlb"
        
        self.gamedayDirectory = GamedayDirectoryStructure(GamedayConfig.mlbGamedayApplicationURL, league)
        
        self.performanceFileName = "./performance.log"
            
    def testLoad1Month(self):
        monthURL = "http://gd2.mlb.com/components/game/mlb/year_2006/month_06"
        
        gamedayGameURLs = self.gamedayDirectory.getGameURLsForMonth(monthURL)
        
        self.runAndStorePerformanceTest(gamedayGameURLs)            
    
    def testLoad1Game(self):
        gameName = "gid_2009_09_25_balmlb_clemlb_1"
        
        gamedayGameURLs = self.gamedayDirectory.getGameURLsForGame(gameName)
        
        self.runAndStorePerformanceTest(gamedayGameURLs)            
    
    def runAndStorePerformanceTest(self, gamedayGameURLs):
        beforeSeconds = time.time()
        
        for gameURL in gamedayGameURLs:
            xmlProvider = GamedayXMLProvider(gameURL)
        
            gameStatsWorkList = GameStatsWorkList()
        
            gameLoader = GamedayGameLoader(self.db, xmlProvider, gameStatsWorkList)
        
            gameLoader.delete()
        
            gameLoader.loadGame()
        
            gameLoader.delete()
        
        totalSeconds = time.time() - beforeSeconds
        timeHere = time.localtime()
        readableTime = time.asctime(timeHere)
        
        performanceTrackingFileContents = fileUtils.slurp(self.performanceFileName)
        
        performanceResult = "\n" + readableTime + "," + str(totalSeconds) + "," + str(len(gamedayGameURLs))
        
        performanceTrackingFileContents.append(performanceResult)
        
        fileUtils.spit(self.performanceFileName, performanceTrackingFileContents)
              

        
        
예제 #7
0
    def test1Game(self):
        gamedayDirectory = GamedayDirectoryStructure(BBOSConfig.gamedayURL, "mlb")
    
        #gameName = "gid_2015_04_02_lanmlb_anamlb_1"
        gameName = "gid_2015_05_04_texmlb_houmlb_1"
        #gameName = "gid_2007_03_01_cinmlb_pitmlb_1"
        
        gamedayGameURLs = gamedayDirectory.getGameURLsForGame(gameName)
        
        for gameURL in gamedayGameURLs:
            logging.info( "gameURL:" + gameURL )
            xmlProvider = GamedayXMLProvider(gameURL)
            
            gameStatsWorkList = GameStatsWorkList()
            
            gameLoader = GamedayGameLoader(self.db, xmlProvider, gameStatsWorkList)
            
            if gameLoader.isAlreadyLoaded():
                gameLoader.delete()
            
            logging.info( "deleting:" + xmlProvider.getGameName() )
                
            gameLoader.delete()
            
            logging.info( "loading:" + xmlProvider.getGameName() )
                
            gameLoader.loadGame()
             
            loaded = gameLoader.isAlreadyLoaded();
            
            self.assertTrue(loaded)      
    
        logging.info( "" )
        logging.info( "load complete!" ) 
                   
    
           
              

        
        
예제 #8
0
def main():
    options = commandLineOptionsParser.parseOptions()
    
    logging.info("Starting bbosPlayerBio!")
    
    league = options.league
    
    try:
        gamedayDirectory = GamedayDirectoryStructure(BBOSConfig.gamedayURL, league)
        
        if options.game:
            gamedayGameURLs = gamedayDirectory.getGameURLsForGame(options.game)    
        elif options.day:
            gamedayGameURLs = gamedayDirectory.getGameURLsForDay(eval(options.day))    
        elif options.all != None:
            gamedayGameURLs = gamedayDirectory.getGameURLsForAllAvailable()
        elif options.year:
            gamedayGameURLs = gamedayDirectory.getGameURLsForYear(options.year)
        else:
            gamedayGameURLs = gamedayDirectory.getGameURLsForLastNumberOfDays(BBOSConfig.gamedayDaysBackToLoad)
            
        logging.info("Distributing" + str(len(gamedayGameURLs)) + "urls to" + str(BBOSConfig.numberOfThreads) + "threads")
        
        threadIt.threadThis(BBOSConfig.numberOfThreads, gamedayGameURLs, LoadGameFactory())
        
        logging.info("")
        logging.info("load complete!")
    except Exception, e:
        logging.error("Died with Exception: ")
        logging.error(e)
        raise e
예제 #9
0
def main():
    options = commandLineOptionsParser.parseOptions()

    logging.info("Starting bbos!")

    league = options.league

    try:
        gamedayDirectory = GamedayDirectoryStructure(BBOSConfig.gamedayURL,
                                                     league)

        if options.game:
            gamedayGameURLs = gamedayDirectory.getGameURLsForGame(options.game)
        elif options.day:
            gamedayGameURLs = gamedayDirectory.getGameURLsForDay(
                eval(options.day))
        elif options.year:
            gamedayGameURLs = gamedayDirectory.getGameURLsForYear(options.year)
        elif options.recent:
            gamedayGameURLs = gamedayDirectory.getGameURLsForLastNumberOfDays(
                BBOSConfig.gamedayDaysBackToLoad)
        else:
            gamedayGameURLs = gamedayDirectory.getGameURLsForLastNumberOfDays(
                BBOSConfig.gamedayDaysBackToLoad)

            #        gamedayGameURLs.reverse()

        logging.info("Distributing " + str(len(gamedayGameURLs)) +
                     " urls to " + str(BBOSConfig.numberOfThreads) +
                     " threads")

        threadIt.threadThis(BBOSConfig.numberOfThreads, gamedayGameURLs,
                            LoadGameFactory())

        logging.info("")
        logging.info("load complete!")
    except:
        logging.error("Died with Exception: ")
        import StringIO
        output = StringIO.StringIO()
        import traceback
        traceback.print_exc(file=output)
        logging.error(output.getvalue())
        raise
예제 #10
0
def main():
    
    options = commandLineOptionsParser.parseOptions()
    
    logging.info("Starting delete!")
        
    league = options.league
        
    try:
        gamedayDirectory = GamedayDirectoryStructure(BBOSConfig.gamedayURL, league)
        
        if options.game:
            gamedayGameURLs = gamedayDirectory.getGameURLsForGame(options.game)    
        elif options.day:
            gamedayGameURLs = gamedayDirectory.getGameURLsForDay(eval(options.day))    
        elif options.year:
            gamedayGameURLs = gamedayDirectory.getGameURLsForYear(options.year)
        elif options.recent:
            gamedayGameURLs = gamedayDirectory.getGameURLsForLastNumberOfDays(BBOSConfig.gamedayDaysBackToLoad)
        else:
            gamedayGameURLs = gamedayDirectory.getGameURLsForLastNumberOfDays(BBOSConfig.gamedayDaysBackToLoad)
            
        gamedayGameURLs.reverse()
    
        for gameURL in gamedayGameURLs:
            logging.info("deleting:"+gameURL)
            xmlProvider = GamedayXMLProvider(gameURL)
                
            db = DB();
                
            gameStatsWorkList = GameStatsWorkList()
                    
            gameLoader = GamedayGameLoader(db, xmlProvider, gameStatsWorkList)
                
            gameLoader.delete()
        
        logging.info("")
        logging.info("delete complete!")
    except:
        logging.error("Died with Exception: ")
        import StringIO
        output = StringIO.StringIO()
        import traceback
        traceback.print_exc(file=output)
        logging.error(output.getvalue())
        raise
예제 #11
0
def main():
    options = commandLineOptionsParser.parseOptions()

    logging.info("Starting bbosPlayerBio!")

    league = options.league

    try:
        gamedayDirectory = GamedayDirectoryStructure(BBOSConfig.gamedayURL,
                                                     league)

        if options.game:
            gamedayGameURLs = gamedayDirectory.getGameURLsForGame(options.game)
        elif options.day:
            gamedayGameURLs = gamedayDirectory.getGameURLsForDay(
                eval(options.day))
        elif options.all != None:
            gamedayGameURLs = gamedayDirectory.getGameURLsForAllAvailable()
        elif options.year:
            gamedayGameURLs = gamedayDirectory.getGameURLsForYear(options.year)
        else:
            gamedayGameURLs = gamedayDirectory.getGameURLsForLastNumberOfDays(
                BBOSConfig.gamedayDaysBackToLoad)

        logging.info("Distributing" + str(len(gamedayGameURLs)) + "urls to" +
                     str(BBOSConfig.numberOfThreads) + "threads")

        threadIt.threadThis(BBOSConfig.numberOfThreads, gamedayGameURLs,
                            LoadGameFactory())

        logging.info("")
        logging.info("load complete!")
    except Exception, e:
        logging.error("Died with Exception: ")
        logging.error(e)
        raise e
예제 #12
0
def main():
    options = commandLineOptionsParser.parseOptions()
    
    logging.info("Starting bbos!")
    
    league = options.league
    
    try:
        gamedayDirectory = GamedayDirectoryStructure(BBOSConfig.gamedayURL, league)
        
        if options.game:
            gamedayGameURLs = gamedayDirectory.getGameURLsForGame(options.game)    
        elif options.day:
            gamedayGameURLs = gamedayDirectory.getGameURLsForDay(eval(options.day))    
        elif options.year:
            gamedayGameURLs = gamedayDirectory.getGameURLsForYear(options.year)
        elif options.recent:
            gamedayGameURLs = gamedayDirectory.getGameURLsForLastNumberOfDays(BBOSConfig.gamedayDaysBackToLoad)
        else:
            gamedayGameURLs = gamedayDirectory.getGameURLsForLastNumberOfDays(BBOSConfig.gamedayDaysBackToLoad)
            
        gamedayGameURLs.reverse()
        
        logging.info("Distributing " + str(len(gamedayGameURLs)) + " urls to " + str(BBOSConfig.numberOfThreads) + " threads")
        
        threadIt.threadThis(BBOSConfig.numberOfThreads, gamedayGameURLs, LoadGameFactory())
        
        logging.info("")
        logging.info("load complete!")
    except:
        logging.error("Died with Exception: ")
        import StringIO
        output = StringIO.StringIO()
        import traceback
        traceback.print_exc(file=output)
        logging.error(output.getvalue())
        raise
예제 #13
0
    def setUp(self):
        url = "http://gd2.mlb.com/components/game/";

        self.gamedayDirectory = GamedayDirectoryStructure(url, "mlb")    
예제 #14
0
class GamedayDirectoryStructureFTest(FTest):
    
    def setUp(self):
        url = "http://gd2.mlb.com/components/game/";

        self.gamedayDirectory = GamedayDirectoryStructure(url, "mlb")    
    
    
    def testGet404BadGameURL(self):
        url = "http://gd2.mlb.com/components/game/mlb/year_2006/month_02/day_28/gid_2006_02_28_kiamlb_cinmlb_1/"
        
        gamedayGameURLs = self.gamedayDirectory.__filterGameURLsForFullGames__([url])

        self.assertEqual(0, len(gamedayGameURLs))
            
    def testGetDayURLsForMonth04_2008(self):
        url = "http://gd2.mlb.com/components/game/mlb/year_2008/month_04/"
        
        gamedayGameURLs = self.gamedayDirectory.__getDayURLsForMonth__(url)

        self.assertEqual(31, len(gamedayGameURLs))
        
    def testGetGameURLsForDay04_12_2008(self):
        url = "http://gd2.mlb.com/components/game/mlb/year_2008/month_04/day_12/"
        
        gamedayGameURLs = self.gamedayDirectory.__getGameURLsForDay__(url)

        self.assertEqual(15, len(gamedayGameURLs))
        
    def testParseGameIDs(self):
        url = "http://gd2.mlb.com/components/game/mlb/year_2007/month_08/day_17/"
        
        gameIDs = self.gamedayDirectory.__parseGameIDs__(url)

        self.assertEqual(16, len(gameIDs))
        
    def testGetGameURLsForGame(self):
        gameName = 'gid_2007_03_01_cinmlb_pitmlb_1'
        urls = ["http://gd2.mlb.com/components/game/mlb/year_2007/month_03/day_01/gid_2007_03_01_cinmlb_pitmlb_1/"]
        
        gamedayGameURLs = self.gamedayDirectory.getGameURLsForGame(gameName)

        self.assertEqual(urls, gamedayGameURLs)
            
    def testGetGameURLsForDay(self):
        dayString = """('2008', '09', '24')"""
        day = eval(dayString)
        
        gamedayGameURLs = self.gamedayDirectory.getGameURLsForDay(day)

        self.assertEqual(15, len(gamedayGameURLs))
    
#    def testGetGameURLsForYear(self): 
#        gamedayGameURLs = self.gamedayDirectory.getGameURLsForYear(2005)
#
#        self.assertEqual(2136, len(gamedayGameURLs))
    
    def testGetGameURLsForLastNumberOfDays(self): 
        self.gamedayDirectory.getGameURLsForLastNumberOfDays(5)
            
    def testDateInFuture(self):
        url = "http://gd2.mlb.com/components/game/mlb/year_2099/month_08/day_17/"
        
        inFuture = self.gamedayDirectory.__dateInFuture__(url)

        self.assertTrue(inFuture)
        
        url = "http://gd2.mlb.com/components/game/mlb/year_2008/month_08/day_17/"
        
        inFuture = self.gamedayDirectory.__dateInFuture__(url)

        self.assertFalse(inFuture)
        
        url = "http://gd2.mlb.com/components/game/mlb/year_1999/month_08/day_17/"
        
        inFuture = self.gamedayDirectory.__dateInFuture__(url)

        self.assertFalse(inFuture)