Improve handling for leagues without matches this season (ex. world cup)
This commit is contained in:
@@ -50,19 +50,11 @@ public class S3Provider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void writeFixturesToS3(int season, int league, String content) {
|
public void writeFixturesToS3(int season, int league, String content) {
|
||||||
if (league == 1 || league == 4) {
|
writeToS3(v3Filepath("fixtures", season, league), content);
|
||||||
writeToS3(v3Filepath("fixtures", season-1, league), content);
|
|
||||||
} else {
|
|
||||||
writeToS3(v3Filepath("fixtures", season, league), content);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void writeRoundsToS3(int season, int league, String content) {
|
public void writeRoundsToS3(int season, int league, String content) {
|
||||||
if (league == 1 || league == 4) {
|
writeToS3(v3Filepath("rounds", season, league), content);
|
||||||
writeToS3(v3Filepath("rounds", season-1, league), content);
|
|
||||||
} else {
|
|
||||||
writeToS3(v3Filepath("rounds", season, league), content);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getFileFromS3(String filename) {
|
private String getFileFromS3(String filename) {
|
||||||
|
|||||||
@@ -97,9 +97,17 @@ public class APIFootballUpdater {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getRawData(String requestPath, int season, int league) throws Exception {
|
public String getRawData(String requestPath, int season, int league) throws Exception {
|
||||||
|
if(league != 1 && league != 4) {
|
||||||
|
/**
|
||||||
|
* Season usually is one higher in Tippliga than in API-Football.
|
||||||
|
* e.g. 2023/24 is 2024 in Tippliga and 2023 in API-Football.
|
||||||
|
* Because Liga Cup in Tippliga is at the end of a season, season does match World Cup (1) and Euro Championship (4)
|
||||||
|
*/
|
||||||
|
season--;
|
||||||
|
}
|
||||||
|
|
||||||
HttpClient client = HttpClientBuilder.create().build();
|
HttpClient client = HttpClientBuilder.create().build();
|
||||||
String requestUrl = BASE_URL + requestPath + "?season=" + (season-1) + "&league=" + league + "&timezone=Europe/Berlin";
|
String requestUrl = BASE_URL + requestPath + "?season=" + (season) + "&league=" + league + "&timezone=Europe/Berlin";
|
||||||
HttpGet request = new HttpGet(requestUrl);
|
HttpGet request = new HttpGet(requestUrl);
|
||||||
|
|
||||||
// add request header
|
// add request header
|
||||||
@@ -131,13 +139,14 @@ public class APIFootballUpdater {
|
|||||||
public void checkErrors(String requestUrl, String result) throws Exception {
|
public void checkErrors(String requestUrl, String result) throws Exception {
|
||||||
JSONObject resultObject = stringToJSONObject(result);
|
JSONObject resultObject = stringToJSONObject(result);
|
||||||
boolean containsError = !((JSONArray) resultObject.get("errors")).isEmpty();
|
boolean containsError = !((JSONArray) resultObject.get("errors")).isEmpty();
|
||||||
int results = Integer.parseInt(resultObject.get("results").toString());
|
// int results = Integer.parseInt(resultObject.get("results").toString());
|
||||||
if(containsError) {
|
if(containsError) {
|
||||||
String errorMessage = resultObject.get("errors").toString();
|
String errorMessage = resultObject.get("errors").toString();
|
||||||
throw new Exception(requestUrl + " returned error: '" + errorMessage + "'");
|
throw new Exception(requestUrl + " returned error: '" + errorMessage + "'");
|
||||||
} else if (results == 0) {
|
|
||||||
throw new Exception(requestUrl + " did not have any results.");
|
|
||||||
}
|
}
|
||||||
|
// else if (results == 0) {
|
||||||
|
// throw new Exception(requestUrl + " did not have any results.");
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private JSONObject stringToJSONObject(String rawData) {
|
private JSONObject stringToJSONObject(String rawData) {
|
||||||
|
|||||||
Reference in New Issue
Block a user