From 1e9ee8127c0ccbae1420359e069395711508f6ab Mon Sep 17 00:00:00 2001 From: Julian Arndt Date: Sun, 25 Oct 2020 21:50:46 +0100 Subject: [PATCH] Add check for limit excetion for api football and fix bug in switch in app --- src/main/java/de/jeyp91/App.java | 2 + .../apifootball/APIFootballUpdater.java | 39 ++++--------------- 2 files changed, 10 insertions(+), 31 deletions(-) diff --git a/src/main/java/de/jeyp91/App.java b/src/main/java/de/jeyp91/App.java index 1463740..969070f 100644 --- a/src/main/java/de/jeyp91/App.java +++ b/src/main/java/de/jeyp91/App.java @@ -45,9 +45,11 @@ public class App { case "TeamsUpdater": TLWTeamsUpdater teamsUpdater = new TLWTeamsUpdater(season, league, configFile); sql = teamsUpdater.getInsertSQL(); + break; case "APIFootballUpdater": APIFootballUpdater apiFootballUpdater = new APIFootballUpdater(season); apiFootballUpdater.updateAllFixtures(configFile); + break; default: break; } diff --git a/src/main/java/de/jeyp91/apifootball/APIFootballUpdater.java b/src/main/java/de/jeyp91/apifootball/APIFootballUpdater.java index cd33175..0b2dff5 100644 --- a/src/main/java/de/jeyp91/apifootball/APIFootballUpdater.java +++ b/src/main/java/de/jeyp91/apifootball/APIFootballUpdater.java @@ -20,6 +20,8 @@ public class APIFootballUpdater { private int season; private GistProvider provider; + private final String exceededLimitError = "{\"api\":{\"results\":0,\"error\":\"You have reached the request limit for the day\"}}"; + public APIFootballUpdater(int season) { this.season = season; this.provider = GistProvider.getInstance(); @@ -29,7 +31,9 @@ public class APIFootballUpdater { String apiFootballUrl = "https://v2.api-football.com/fixtures/league/" + league + "?timezone=Europe/Berlin"; String filename = "matches_league_" + league + ".json"; String content = getRawData(apiFootballUrl); - writeStringToGist(filename, content); + if(!content.equals(this.exceededLimitError)) { + writeStringToGist(filename, content); + } } public void updateAllFixtures(String configPath) throws IOException { @@ -43,7 +47,9 @@ public class APIFootballUpdater { String apiFootballUrl = "https://v2.api-football.com/fixtures/rounds/" + league; String filename = "rounds_" + league + ".json"; String content = getRawData(apiFootballUrl); - writeStringToGist(filename, content); + if(!content.equals(this.exceededLimitError)) { + writeStringToGist(filename, content); + } } public void updateAllRounds(String configPath) throws IOException { @@ -89,34 +95,6 @@ public class APIFootballUpdater { return leagues; } - private JSONArray getDataAsJSONArray(String requestUrl) { - - String rawData = getRawData(requestUrl); - JSONParser parser = new JSONParser(); - JSONArray data = null; - try { - data = (JSONArray) parser.parse(rawData); - } catch (ParseException e) { - /* TODO */ - e.printStackTrace(); - } - return data; - } - - public JSONObject getDataAsJSONObject(String requestUrl) { - - String rawData = getRawData(requestUrl); - JSONParser parser = new JSONParser(); - JSONObject data = null; - try { - data = (JSONObject) parser.parse(rawData); - } catch (ParseException e) { - /* TODO */ - e.printStackTrace(); - } - return data; - } - public String getRawData(String requestUrl) { HttpClient client = HttpClientBuilder.create().build(); @@ -136,7 +114,6 @@ public class APIFootballUpdater { e.printStackTrace(); } - BufferedReader rd = null; try { rd = new BufferedReader(