Beispiel #1
0
  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");
  }
Beispiel #2
0
  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");
  }