Added Holiday check
This commit is contained in:
parent
0520005e27
commit
c951776d65
7 changed files with 55 additions and 21 deletions
|
@ -12,12 +12,10 @@ import java.io.IOException;
|
|||
import java.io.OutputStream;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
public class Main {
|
||||
private static final String version = "0.6";
|
||||
private static final String version = "0.7";
|
||||
private static final HashMap<String, Integer> data = new HashMap<>();
|
||||
public static Settings conf;
|
||||
static OebbCheck check = new OebbCheck();
|
||||
|
@ -66,10 +64,10 @@ public class Main {
|
|||
}
|
||||
|
||||
private static void refresh() throws IOException {
|
||||
data.put(conf.getString("monitors.monitor1.DepartureTime"),check.getStatus(conf.getString("monitors.monitor1.Station"),conf.getString("monitors.monitor1.DepartureTime"), conf.getString("monitors.monitor1.FinalStop"),conf.getString("monitors.monitor1.TrainType"),String.valueOf(conf.getInt("monitors.monitor1.maxjourneys")), conf.getIntList("monitors.monitor1.notRunningDays")));
|
||||
data.put(conf.getString("monitors.monitor2.DepartureTime"),check.getStatus(conf.getString("monitors.monitor2.Station"),conf.getString("monitors.monitor2.DepartureTime"), conf.getString("monitors.monitor2.FinalStop"),conf.getString("monitors.monitor2.TrainType"),String.valueOf(conf.getInt("monitors.monitor2.maxjourneys")), conf.getIntList("monitors.monitor2.notRunningDays")));
|
||||
data.put(conf.getString("monitors.monitor3.DepartureTime"),check.getStatus(conf.getString("monitors.monitor3.Station"),conf.getString("monitors.monitor3.DepartureTime"), conf.getString("monitors.monitor3.FinalStop"),conf.getString("monitors.monitor3.TrainType"),String.valueOf(conf.getInt("monitors.monitor3.maxjourneys")), conf.getIntList("monitors.monitor3.notRunningDays")));
|
||||
data.put(conf.getString("monitors.monitor4.DepartureTime"),check.getStatus(conf.getString("monitors.monitor4.Station"),conf.getString("monitors.monitor4.DepartureTime"), conf.getString("monitors.monitor4.FinalStop"),conf.getString("monitors.monitor4.TrainType"),String.valueOf(conf.getInt("monitors.monitor4.maxjourneys")), conf.getIntList("monitors.monitor4.notRunningDays")));
|
||||
data.put(conf.getString("monitors.monitor1.DepartureTime"),check.getStatus(conf.getString("monitors.monitor1.Station"),conf.getString("monitors.monitor1.DepartureTime"), conf.getString("monitors.monitor1.FinalStop"),conf.getString("monitors.monitor1.TrainType"),String.valueOf(conf.getInt("monitors.monitor1.maxjourneys")), conf.getStringList("monitors.monitor1.notRunningDays")));
|
||||
data.put(conf.getString("monitors.monitor2.DepartureTime"),check.getStatus(conf.getString("monitors.monitor2.Station"),conf.getString("monitors.monitor2.DepartureTime"), conf.getString("monitors.monitor2.FinalStop"),conf.getString("monitors.monitor2.TrainType"),String.valueOf(conf.getInt("monitors.monitor2.maxjourneys")), conf.getStringList("monitors.monitor2.notRunningDays")));
|
||||
data.put(conf.getString("monitors.monitor3.DepartureTime"),check.getStatus(conf.getString("monitors.monitor3.Station"),conf.getString("monitors.monitor3.DepartureTime"), conf.getString("monitors.monitor3.FinalStop"),conf.getString("monitors.monitor3.TrainType"),String.valueOf(conf.getInt("monitors.monitor3.maxjourneys")), conf.getStringList("monitors.monitor3.notRunningDays")));
|
||||
data.put(conf.getString("monitors.monitor4.DepartureTime"),check.getStatus(conf.getString("monitors.monitor4.Station"),conf.getString("monitors.monitor4.DepartureTime"), conf.getString("monitors.monitor4.FinalStop"),conf.getString("monitors.monitor4.TrainType"),String.valueOf(conf.getInt("monitors.monitor4.maxjourneys")), conf.getStringList("monitors.monitor4.notRunningDays")));
|
||||
time = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
package be.jaud;
|
||||
|
||||
import de.fumix.holidays.config.Config;
|
||||
import de.fumix.holidays.config.Holiday;
|
||||
import de.fumix.holidays.config.Region;
|
||||
import de.fumix.holidays.impl.HolidaysImpl;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
@ -13,9 +17,8 @@ import java.net.HttpURLConnection;
|
|||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
|
||||
public class OebbCheck {
|
||||
public static final Logger LOG = LoggerFactory.getLogger(OebbCheck.class);
|
||||
|
@ -32,7 +35,7 @@ public class OebbCheck {
|
|||
>0 is the delay in Minutes
|
||||
9999 means the Train has been cancelled
|
||||
*/
|
||||
public int getStatus(String Station, String Time, String FinalStop, String TrainType, String maxjourneys, List<Integer> notRunningDays) {
|
||||
public int getStatus(String Station, String Time, String FinalStop, String TrainType, String maxjourneys, List<String> notRunningDays) {
|
||||
JSONArray journeys = null;
|
||||
now.setTime(new Date());
|
||||
try {
|
||||
|
@ -57,7 +60,11 @@ public class OebbCheck {
|
|||
}
|
||||
}
|
||||
}
|
||||
if(notRunningDays.contains(now.get(Calendar.DAY_OF_WEEK))){
|
||||
Config config = Config.fromResources();
|
||||
final Region region = config.regionOf("AT").orElseThrow(() -> new IllegalArgumentException("Undefined region"));
|
||||
final HolidaysImpl holidays = new HolidaysImpl(region);
|
||||
Holiday dat= holidays.at(LocalDate.now()).orElse(null);
|
||||
if(notRunningDays.contains(String.valueOf(now.get(Calendar.DAY_OF_WEEK))) || (dat != null && notRunningDays.contains("H"))){
|
||||
return -2;
|
||||
} else {
|
||||
return -1;
|
||||
|
|
|
@ -39,7 +39,7 @@ public class Settings {
|
|||
return config.getInt(key);
|
||||
}
|
||||
|
||||
//public List<String> getStringList(String key){ return config.getStringList(key); }
|
||||
|
||||
public List<Integer> getIntList(String key){ return config.getIntList(key); }
|
||||
|
||||
public List<String> getStringList(String key){ return config.getStringList(key); }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue