public ArrayList<Contest> parse() { ArrayList<Contest> contests = new ArrayList<>(); String s = Utils.URLToString(contestsPage(), "UTF-8"); if (s == null) return null; try { int i = s.indexOf("\"champ\""), p, k, b; String t; i = s.indexOf("\"name\"", i); i = s.indexOf(':', i); i = s.indexOf('\"', i); String name = s.substring(i + 1, s.indexOf('\"', i + 1)); i = s.indexOf("\"rounds\""); for (; ; ) { i = s.indexOf("\"name\"", i + 1); if (i == -1) break; b = s.lastIndexOf('{', i); k = s.indexOf(':', i); k = s.indexOf('\"', k); Contest c = new Contest(); String z = s.substring(k + 1, s.indexOf('\"', k + 1)); c.title = name + " " + z; k = s.indexOf("\"start_date\"", b); k = s.indexOf(':', k); k = s.indexOf('\"', k); t = s.substring(k + 1, s.indexOf('\"', k + 1)); p = t.indexOf('T'); t = t.substring(0, p) + " " + t.substring(p + 1, p + 9) + " GMT" + t.substring(p + 9); try { c.startDate.setTime(dateFormat.parse(t)); } catch (ParseException e) { e.printStackTrace(); } k = s.indexOf("\"end_date\"", b); k = s.indexOf(':', k); k = s.indexOf('\"', k); t = s.substring(k + 1, s.indexOf('\"', k + 1)); p = t.indexOf('T'); t = t.substring(0, p) + " " + t.substring(p + 1, p + 9) + " GMT" + t.substring(p + 9); try { c.endDate.setTime(dateFormat.parse(t)); } catch (ParseException e) { e.printStackTrace(); } c.mainPage = mainPage(); c.deadLine = Utils.timeConsts.YEAR; c.icon = getIcon(); contests.add(c); } } catch (Exception e) { e.printStackTrace(); } return contests; }
public ArrayList<Contest> parse() { ArrayList<Contest> contests = new ArrayList<Contest>(); String s = Utils.URLToString(contestsPage(), "UTF-8"); if (s == null) return null; try { int i, j, k = s.indexOf("h3"); String str, sp[]; k = s.indexOf("center", k); j = s.indexOf("</b>", k); i = s.lastIndexOf("/>", j); str = Utils.trim(s.substring(i + 2, j)); str = Utils.trimTags(str); sp = str.split(" "); Contest c = new Contest(); c.title = "1/4 ACM ICPC"; try { c.startDate.setTime( dateFormat.parse( sp[1] + " " + Utils.month.get(sp[4]) + " " + sp[5] + " 00 00 00 KRAT")); c.endDate.setTime( dateFormat.parse( sp[3] + " " + Utils.month.get(sp[4]) + " " + sp[5] + " 23 59 59 KRAT")); } catch (ParseException e) { e.printStackTrace(); return null; } c.deadLine = Utils.timeConsts.YEAR; c.mainPage = mainPage(); c.contestPage = contestsPage(); c.icon = getIcon(); contests.add(c); } catch (Exception e) { e.printStackTrace(); } return contests; }