public void ingestTeamPitching(MyDatabase db, int year) throws Exception { System.out.print("Ingesting team pitching from " + year + " : "); System.out.flush(); StringBuilder SB = _fetcher.getPage("pitching", year); Parser P = new Parser(SB); BBRefUtil.filter(P, "teams_value_pitching"); int start = P.getStart(); int end = P.getEnd(); int i = 0; ArrayList<String> columns = null; CachedStatement stmt = db.prepare(INSERT_TEAM_PITCHING); while (true) { P.setRange(start, end); if ((columns = BBRefUtil.getColumns(P)) == null) { break; } start = P.getEnd(); if (columns.size() < 10) { continue; } Teams T = BBRefUtil.matchTeamID(columns.get(0), _teams, year); stmt.setString(1, T.teamID()); stmt.setInt(2, year); int ipOuts = getIPOuts(columns.get(1)); // compute summary info WarTeam WT = _sumTeam.get(T.teamID() + year); if (WT == null) { _sumTeam.put(T.teamID() + year, WT = new WarTeam(T.teamID(), year)); } WT._ipOuts += ipOuts; WT._GS += Integer.parseInt(columns.get(2)); WT._war += Double.parseDouble(columns.get(8)); WT._salary += BBRefUtil.parseCurrency(columns.get(9)); stmt.setInt(3, ipOuts); stmt.setInt(4, Integer.parseInt(columns.get(2))); // GS stmt.setInt(5, Integer.parseInt(columns.get(3))); // R stmt.setInt(6, Integer.parseInt(columns.get(4))); // Rrep stmt.setInt(7, Integer.parseInt(columns.get(5))); // Rdef stmt.setDouble(8, parseDouble(columns.get(6))); // aLi stmt.setInt(9, Integer.parseInt(columns.get(7))); // Rdef stmt.setDouble(10, parseDouble(columns.get(8))); // rWAR stmt.setInt(11, BBRefUtil.parseCurrency(columns.get(9))); // salary stmt.executeUpdate(); ++i; } System.out.println(i + " found"); }
public void ingestTeamBatting(MyDatabase db, int year) throws Exception { System.out.print("Ingesting team batting from " + year + " : "); System.out.flush(); StringBuilder SB = _fetcher.getPage("batting", year); Parser P = new Parser(SB); BBRefUtil.filter(P, "teams_values_batting"); int start = P.getStart(); int end = P.getEnd(); int i = 0; ArrayList<String> columns = null; CachedStatement stmt = db.prepare(INSERT_TEAM_BATTING); while (true) { P.setRange(start, end); if ((columns = BBRefUtil.getColumns(P)) == null) { break; } start = P.getEnd(); if (columns.size() < 15) { continue; } Teams T = BBRefUtil.matchTeamID(columns.get(0), _teams, year); stmt.setString(1, T.teamID()); stmt.setInt(2, year); // compute summary info WarTeam WT = _sumTeam.get(T.teamID() + year); if (WT == null) { _sumTeam.put(T.teamID() + year, WT = new WarTeam(T.teamID(), year)); } WT._pa += Integer.parseInt(columns.get(1)); WT._war += Double.parseDouble(columns.get(10)); WT._salary += BBRefUtil.parseCurrency(columns.get(14)); for (int j = 1; j != 10; ++j) { stmt.setInt(j + 2, Integer.parseInt(columns.get(j))); // PA thru RAR; } stmt.setDouble(12, Double.parseDouble(columns.get(10))); // WAR stmt.setInt(13, Integer.parseInt(columns.get(11))); // oRAR stmt.setDouble(14, parseDouble(columns.get(12))); // oWAR stmt.setDouble(15, parseDouble(columns.get(13))); // dWAR stmt.setInt(16, BBRefUtil.parseCurrency(columns.get(14))); // salary stmt.executeUpdate(); ++i; } System.out.println(i + " found"); }