/**
*
*/
package net.danopia.protonet.client;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.database.Cursor;
public class Session {
public Fetcher client = null;
public String mainPage = null;
public ArrayList<String[]> courses = null;
//public HashMap<String, Course> coursePages = null;
public Session(Cursor mCursor) {
client = new Fetcher(mCursor.getString(1));
//coursePages = new HashMap<String, Course>();
try {
String page = client.doLogin(mCursor.getString(2), mCursor.getString(3));
parseHome(page);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void parseHome(String content) {
mainPage = content;
courses = new ArrayList<String[]>();
Pattern pattern = Pattern.compile("<td>([0-9]+).+?</td>.+?<td align=\"left\">(.+?)<br>.+?<a href=\"mailto:(.+?)\">(.+?)</a>.+?href=\"(.+?)\">([0-9\\-]+)<", Pattern.DOTALL);
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
String period = matcher.group(1).toString();
String course = matcher.group(2).toString();
String email = matcher.group(3).toString();
String teacher = matcher.group(4).toString();
String url = matcher.group(5).toString();
String avg = matcher.group(6).toString();
String[] info = new String[] {period, course, email, teacher, url, avg};
courses.add(info);
}
}
/*public Course getCourse(String[] course) {
return getCourse(course[4]);
}
public Course getCourse(String url) {
if (coursePages.containsKey(url)) {
return coursePages.get(url);
} else {
Course page = new Course(this, url);
coursePages.put(url, page);
return page;
}
}*/
}