def getTeamStats(): finalMat = [[awayTeam,'',homeTeam]] stats = teamSoup.find(id='teamstats-wrap') rows = stats.find_all('tr') for r in rows[1:]: row = r.find_all('td') row[0],row[1] = row[1],row[0] currentRow = [] for x in row: currentRow.append(x.getText().strip()) finalMat.append(currentRow) return formatter.make_table(finalMat)
def getStats(statType): stats = soup.find(id= 'gamepackage-' + statType) awayStats = stats.find('div', 'gamepackage-away-wrap') homeStats = stats.find('div', 'gamepackage-home-wrap') header = awayStats.find('thead').find_all('th') header[0] = awayTeam if statType == 'passing': header.pop() headerArray = [] for cat in header: if isinstance(cat, basestring): headerArray.append(cat) else: headerArray.append(cat.getText()) header[0] = homeTeam for cat in header: if isinstance(cat, basestring): headerArray.append(cat) else: headerArray.append(cat.getText()) awayBody = awayStats.find('tbody').find_all('tr') homeBody = homeStats.find('tbody').find_all('tr') awayTotal = awayBody[-1] homeTotal = homeBody[-1] awayBody.pop() homeBody.pop() numRows = max(len(awayBody), len(homeBody)); numStats = len(headerArray) / 2 finalMat = [headerArray] for x in xrange(numRows): row = [] if x >= len(awayBody): row = ['' for y in xrange(numStats)] else: for stat in awayBody[x].findAll('td'): row.append(stat.getText()) if statType == 'passing': row.pop() if x >= len(homeBody): row += ['' for y in xrange(numStats)] else: for stat in homeBody[x].findAll('td'): row.append(stat.getText()) if statType == 'passing': row.pop() finalMat.append(row) finalRow = [] for x in awayTotal: finalRow.append(x.getText()) if statType == 'passing': finalRow.pop() for x in xrange(numStats - len(awayTotal)): finalRow.append('') for x in homeTotal: finalRow.append(x.getText()) if statType == 'passing': finalRow.pop() for x in xrange(numStats - len(homeTotal)): finalRow.append('') finalMat.append(finalRow) return formatter.make_table(finalMat)