Ejemplo n.º 1
0
    def ViewProfile(request, route):
        BaseController.importBaseController()
        env = Environment(loader=PackageLoader("PDOT", Configuration.pagesFolder))
        dbLayer = PlayersDbLayer()
        foundPlayer = dbLayer.queryById(route["playerId"])

        if foundPlayer.uniqueId is not None:
            template = env.get_template(Configuration.webpageDirectory["playerProfile"])
            return template.render(
                route=route,
                futureQuote=FutureQuote.getRandomQuote(),
                serverVersion=DatabaseUtility.getVersion(),
                playerName=foundPlayer.firstName + " " + foundPlayer.lastName,
                uniqueId=foundPlayer.uniqueId,
                firstName=foundPlayer.firstName,
                lastName=foundPlayer.lastName,
                height=foundPlayer.height,
                weight=foundPlayer.weight,
                born=foundPlayer.born,
                playedFrom=foundPlayer.playedFrom,
                playedTo=foundPlayer.playedTo,
            )
        else:
            template = env.get_template(Configuration.webpageDirectory["playerProfileError"])
            return template.render(
                route=route,
                futureQuote=FutureQuote.getRandomQuote(),
                serverVersion=DatabaseUtility.getVersion(),
                uniqueId=route["playerId"],
            )
Ejemplo n.º 2
0
 def scrapeIntoDatabase(self):
     playersDbLayer = PlayersDbLayer()        
     playerTable = self.mSoup.find(id="players")
     bulkPlayers = []
     if playerTable is not None:
         rowCounter = 0
         for row in playerTable.findAll('tr'):
             col = row.findAll('td')
             if len(col) > 0:                    
                 firstName = SQLUtil.checkNameForSQL(col[0], 0)
                 lastName = SQLUtil.checkNameForSQL(col[0], 1)
                                                        
                 fromYear = SQLUtil.checkStringForSQL(col[1])                                        
                 toYear = SQLUtil.checkStringForSQL(col[2])                    
                 position = SQLUtil.checkStringForSQL(col[3]) # Unused                                       
                 height = SQLUtil.convertStringToHeight(col[4])                                        
                 weight = SQLUtil.convertStringToInt(col[5])                                        
                 birthDate = SQLUtil.convertDateToSQL(col[6])                                                                        
                 university = SQLUtil.checkStringForSQL(col[7]) # Unused    
                                                                                     
                     
                 if Configuration.debugMode:
                     print'Row #%s: Column #%s: %s' % (str(rowCounter), 0, firstName) # Name
                     print'Row #%s: Column #%s: %s' % (str(rowCounter), 1, lastName) # Name
                     print'Row #%s: Column #%s: %s' % (str(rowCounter), 2, fromYear) # From Year
                     print'Row #%s: Column #%s: %s' % (str(rowCounter), 3, toYear) # To Year
                     print'Row #%s: Column #%s: %s' % (str(rowCounter), 4, position) # Position
                     print'Row #%s: Column #%s: %s' % (str(rowCounter), 5, height) # height
                     print'Row #%s: Column #%s: %s' % (str(rowCounter), 6, weight) # Weight
                     print'Row #%s: Column #%s: %s' % (str(rowCounter), 7, birthDate) # Birth date
                     print'Row #%s: Column #%s: %s' % (str(rowCounter), 8, university) # Birth date                                    
                 
                 bulkPlayers.append([firstName, lastName, str(height), str(weight), birthDate, fromYear, toYear])
                 rowCounter = rowCounter + 1
         return playersDbLayer.bulkInsert(bulkPlayers)
Ejemplo n.º 3
0
 def ViewProfile(self, request, route):
     env = Environment(loader=PackageLoader('PDOT', Configuration.pagesFolder))
     dbLayer = PlayersDbLayer()
     foundPlayer = dbLayer.queryById(route['playerId'])
     
     aliasLayer = AliasDbLayer()
     knownAliases = aliasLayer.getAliasesForOfficialName(foundPlayer.firstName, foundPlayer.lastName)
     
     statLineLayer = StatLineDbLayer()
     statsArray = statLineLayer.queryStatsForId(foundPlayer.uniqueId)
     
     if foundPlayer.uniqueId is not None:                            
         template = env.get_template(Configuration.webpageDirectory['playerProfile'])                        
         return template.render(route=route, futureQuote=self.getFutureQuote(), serverVersion=DatabaseUtility.getVersion(),
                                playerName=foundPlayer.firstName + ' ' + foundPlayer.lastName,
                                uniqueId=foundPlayer.uniqueId,
                                firstName=foundPlayer.firstName,
                                lastName=foundPlayer.lastName,
                                height=foundPlayer.height,
                                weight=foundPlayer.weight,
                                born=foundPlayer.born,
                                playedFrom=foundPlayer.playedFrom,
                                playedTo=foundPlayer.playedTo,
                                aliases=knownAliases,
                                statsResults=statsArray,
                                url=self.url)
     else:
         template = env.get_template(Configuration.webpageDirectory['playerProfileError'])                        
         return template.render(route=route, futureQuote=self.getFutureQuote(), serverVersion=DatabaseUtility.getVersion(),
                                uniqueId=route['playerId'],
                                url=self.url)
Ejemplo n.º 4
0
 def ViewDisplay(self, request, route):
     dbLayer = PlayersDbLayer()
     foundPlayers = dbLayer.queryByLetter(route['searchLetter'])
     env = Environment(loader=PackageLoader('PDOT', Configuration.pagesFolder))
     template = env.get_template(Configuration.webpageDirectory['searchResults'])
     
     
     return template.render(route=route, futureQuote=self.getFutureQuote(), serverVersion=DatabaseUtility.getVersion(),
                            queryDescription = 'Last Name of ' + route['searchLetter'] + '*',
                            playerResult=foundPlayers,
                            url=self.url)
Ejemplo n.º 5
0
 def ViewByPlayerSearch(self, request, route):
     dbLayer = PlayersDbLayer()            
     
     firstName = route['firstName']
     fnType = route ['fnSearch']
     
     lastName = route['lastName']
     lnType = route['lnSearch']
     
     fromYear = route['fromYear']
     fyType = route['fySearch']
     
     toYear = route['toYear']
     tyType = route['tySearch']
     
     weight = route['weight']
     wType = route['wSearch']
     
     height = route['height']
     hType = route['hSearch']
     
     birthDate = route['birthDate']
     bdayType = route['bdaySearch']
     
     foundPlayers = dbLayer.queryByDeepSearch(fnType, firstName, lnType, lastName, fyType, fromYear, tyType, toYear, wType, weight, hType, height, bdayType, birthDate)
     '''
     foundPlayers = 'FN: ' + firstName + '<br>'
     foundPlayers += 'LN: ' + lastName + '<br>'
     foundPlayers += 'FY: ' + fromYear + '<br>'
     foundPlayers += 'TY: ' + toYear + '<br>'
     foundPlayers += 'W: ' + weight + '<br>'
     foundPlayers += 'H: ' + height + '<br>'
     foundPlayers += 'BDAY: ' + birthDate
     '''
     env = Environment(loader=PackageLoader('PDOT', Configuration.pagesFolder))
     template = env.get_template(Configuration.webpageDirectory['searchResults'])  
     
     searchParameter = '<ul>'
     for item in self.getDeepQueryString(route):
         searchParameter += '<li>' + item + '</li>'
     searchParameter += '</ul><br>'
                        
     return template.render(route=route, futureQuote=self.getFutureQuote(), 
                            serverVersion=DatabaseUtility.getVersion(),
                            queryDescription = 'Deep Query',
                            playerResult=foundPlayers,
                            deepQueryParameters=searchParameter,
                            url=self.url)
Ejemplo n.º 6
0
 def createPersonTable():
     players = PlayersDbLayer()
     return players.dropAndRecreateTable()