package it.fdev.scraper.esse3;
import it.fdev.unisaconnect.data.SharedPrefDataManager;
import it.fdev.utils.Utils;
import java.io.IOException;
import org.jsoup.HttpStatusException;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import android.content.Context;
import android.util.Log;
public class Esse3AccountScraper extends Esse3BasicScraper {
public final String accountURL = "https://esse3web.unisa.it/unisa/Home.do";
public Esse3AccountScraper(Context context, SharedPrefDataManager dataManager, String base64login, String broadcastID) {
super(context, dataManager, base64login, broadcastID);
}
@Override
public LoadStates startScraper() {
try {
String nomeCognome = scraperStepAccount();
if (nomeCognome != null) {
mDataManager.setNomeCognome(nomeCognome);
return LoadStates.FINISHED;
} else
return LoadStates.NO_DATA;
} catch (HttpStatusException e) {
Log.w(Utils.TAG, "ERROR ", e);
int code = e.getStatusCode();
if (code == 401)
return LoadStates.WRONG_DATA;
else
return LoadStates.UNKNOWN_PROBLEM;
} catch (Exception e) {
Log.w(Utils.TAG, "ERROR ", e);
return LoadStates.UNKNOWN_PROBLEM;
}
}
private String scraperStepAccount() throws HttpStatusException, IOException, InterruptedException {
Document document = scraperGetUrl(accountURL);
if (document == null) {
return null;
}
Element datiContainer = document.getElementById("gu-hpstu-boxDatiPersonali");
if (datiContainer == null) {
return null;
}
return datiContainer.getElementsContainingOwnText("Nome Cognome").first().nextElementSibling().text();
}
}