Added Option to Show not running trains on certain days
This commit is contained in:
parent
43d4e43d99
commit
e7a8f8987d
4 changed files with 33 additions and 10 deletions
|
@ -9,6 +9,8 @@ apiserver {
|
|||
bgcolormain = "black"
|
||||
textcolormain = "red"
|
||||
textcolorupdate = "grey"
|
||||
textcolornotrun = "orange"
|
||||
bgcolornotrun = "black"
|
||||
|
||||
monitors {
|
||||
monitor1 {
|
||||
|
@ -18,6 +20,7 @@ apiserver {
|
|||
Station = ""
|
||||
FinalStop = ""
|
||||
maxjourneys = 1
|
||||
notRunningDays = []
|
||||
}
|
||||
monitor2 {
|
||||
Title = ""
|
||||
|
@ -26,6 +29,7 @@ apiserver {
|
|||
Station = ""
|
||||
FinalStop = ""
|
||||
maxjourneys = 1
|
||||
notRunningDays = []
|
||||
}
|
||||
monitor3 {
|
||||
Title = ""
|
||||
|
@ -34,6 +38,7 @@ apiserver {
|
|||
Station = ""
|
||||
FinalStop = ""
|
||||
maxjourneys = 1
|
||||
notRunningDays = []
|
||||
}
|
||||
monitor4 {
|
||||
Title = ""
|
||||
|
@ -42,6 +47,7 @@ apiserver {
|
|||
Station = ""
|
||||
FinalStop = ""
|
||||
maxjourneys = 1
|
||||
notRunningDays = []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ import java.util.Date;
|
|||
import java.util.HashMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
public class Main {
|
||||
private static final String version = "0.4";
|
||||
private static final String version = "0.5";
|
||||
private static final HashMap<String, Integer> data = new HashMap<>();
|
||||
public static Settings conf;
|
||||
static OebbCheck check = new OebbCheck();
|
||||
|
@ -66,10 +66,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"))));
|
||||
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"))));
|
||||
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"))));
|
||||
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"))));
|
||||
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")));
|
||||
time = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
|
@ -160,14 +160,19 @@ public class Main {
|
|||
private static void makeLabel(JSONObject Monitor, int zeit){
|
||||
if(zeit != 0){
|
||||
Monitor.put("color",conf.getString("textcolordelay"));
|
||||
Monitor.put("background",conf.getString("bgcolordelay"));
|
||||
if(zeit > 0 && zeit < 9999){
|
||||
Monitor.put("data",zeit);
|
||||
}else if(zeit == 9999){
|
||||
} else if(zeit == 9999) {
|
||||
Monitor.put("data","AUSFALL!");
|
||||
}else{
|
||||
} else if(zeit == -1) {
|
||||
Monitor.put("data","Fehler!");
|
||||
} else {
|
||||
Monitor.put("data","Fährt heute nicht");
|
||||
Monitor.put("color",conf.getString("textcolornotrun"));
|
||||
Monitor.put("background",conf.getString("bgcolornotrun"));
|
||||
}
|
||||
Monitor.put("background",conf.getString("bgcolordelay"));
|
||||
|
||||
} else {
|
||||
Monitor.put("color",conf.getString("textcolor"));
|
||||
Monitor.put("data","On time");
|
||||
|
|
|
@ -12,22 +12,28 @@ 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;
|
||||
|
||||
public class OebbCheck {
|
||||
public static final Logger LOG = LoggerFactory.getLogger(OebbCheck.class);
|
||||
Calendar now = Calendar.getInstance();
|
||||
public OebbCheck(){
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
Returns the Delay in Minutes for a given StationID, Departure Time, final stop and Train type(i.e. REX 3, S 2....)
|
||||
Returns -2 if no connection was found and the Weekday is in notRunningDay
|
||||
Returns -1 if no connection was found
|
||||
Returns 0 for no delay
|
||||
>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) {
|
||||
public int getStatus(String Station, String Time, String FinalStop, String TrainType, String maxjourneys, List<Integer> notRunningDays) {
|
||||
JSONArray journeys = null;
|
||||
now.setTime(new Date());
|
||||
try {
|
||||
journeys = getData(Station, Time, maxjourneys);
|
||||
} catch (URISyntaxException e) {
|
||||
|
@ -50,7 +56,11 @@ public class OebbCheck {
|
|||
}
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
if(notRunningDays.contains(now.get(Calendar.DAY_OF_WEEK))){
|
||||
return -2;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -49,4 +49,6 @@ public class Settings {
|
|||
public List<String> getStringList(String key){
|
||||
return config.getStringList(key);
|
||||
}
|
||||
|
||||
public List<Integer> getIntList(String key){ return config.getIntList(key); }
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue