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"
|
bgcolormain = "black"
|
||||||
textcolormain = "red"
|
textcolormain = "red"
|
||||||
textcolorupdate = "grey"
|
textcolorupdate = "grey"
|
||||||
|
textcolornotrun = "orange"
|
||||||
|
bgcolornotrun = "black"
|
||||||
|
|
||||||
monitors {
|
monitors {
|
||||||
monitor1 {
|
monitor1 {
|
||||||
|
@ -18,6 +20,7 @@ apiserver {
|
||||||
Station = ""
|
Station = ""
|
||||||
FinalStop = ""
|
FinalStop = ""
|
||||||
maxjourneys = 1
|
maxjourneys = 1
|
||||||
|
notRunningDays = []
|
||||||
}
|
}
|
||||||
monitor2 {
|
monitor2 {
|
||||||
Title = ""
|
Title = ""
|
||||||
|
@ -26,6 +29,7 @@ apiserver {
|
||||||
Station = ""
|
Station = ""
|
||||||
FinalStop = ""
|
FinalStop = ""
|
||||||
maxjourneys = 1
|
maxjourneys = 1
|
||||||
|
notRunningDays = []
|
||||||
}
|
}
|
||||||
monitor3 {
|
monitor3 {
|
||||||
Title = ""
|
Title = ""
|
||||||
|
@ -34,6 +38,7 @@ apiserver {
|
||||||
Station = ""
|
Station = ""
|
||||||
FinalStop = ""
|
FinalStop = ""
|
||||||
maxjourneys = 1
|
maxjourneys = 1
|
||||||
|
notRunningDays = []
|
||||||
}
|
}
|
||||||
monitor4 {
|
monitor4 {
|
||||||
Title = ""
|
Title = ""
|
||||||
|
@ -42,6 +47,7 @@ apiserver {
|
||||||
Station = ""
|
Station = ""
|
||||||
FinalStop = ""
|
FinalStop = ""
|
||||||
maxjourneys = 1
|
maxjourneys = 1
|
||||||
|
notRunningDays = []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
public class Main {
|
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<>();
|
private static final HashMap<String, Integer> data = new HashMap<>();
|
||||||
public static Settings conf;
|
public static Settings conf;
|
||||||
static OebbCheck check = new OebbCheck();
|
static OebbCheck check = new OebbCheck();
|
||||||
|
@ -66,10 +66,10 @@ public class Main {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void refresh() throws IOException {
|
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.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"))));
|
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"))));
|
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"))));
|
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();
|
time = System.currentTimeMillis();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,14 +160,19 @@ public class Main {
|
||||||
private static void makeLabel(JSONObject Monitor, int zeit){
|
private static void makeLabel(JSONObject Monitor, int zeit){
|
||||||
if(zeit != 0){
|
if(zeit != 0){
|
||||||
Monitor.put("color",conf.getString("textcolordelay"));
|
Monitor.put("color",conf.getString("textcolordelay"));
|
||||||
|
Monitor.put("background",conf.getString("bgcolordelay"));
|
||||||
if(zeit > 0 && zeit < 9999){
|
if(zeit > 0 && zeit < 9999){
|
||||||
Monitor.put("data",zeit);
|
Monitor.put("data",zeit);
|
||||||
} else if(zeit == 9999) {
|
} else if(zeit == 9999) {
|
||||||
Monitor.put("data","AUSFALL!");
|
Monitor.put("data","AUSFALL!");
|
||||||
}else{
|
} else if(zeit == -1) {
|
||||||
Monitor.put("data","Fehler!");
|
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 {
|
} else {
|
||||||
Monitor.put("color",conf.getString("textcolor"));
|
Monitor.put("color",conf.getString("textcolor"));
|
||||||
Monitor.put("data","On time");
|
Monitor.put("data","On time");
|
||||||
|
|
|
@ -12,22 +12,28 @@ import java.net.HttpURLConnection;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class OebbCheck {
|
public class OebbCheck {
|
||||||
public static final Logger LOG = LoggerFactory.getLogger(OebbCheck.class);
|
public static final Logger LOG = LoggerFactory.getLogger(OebbCheck.class);
|
||||||
|
Calendar now = Calendar.getInstance();
|
||||||
public OebbCheck(){
|
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 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 -1 if no connection was found
|
||||||
Returns 0 for no delay
|
Returns 0 for no delay
|
||||||
>0 is the delay in Minutes
|
>0 is the delay in Minutes
|
||||||
9999 means the Train has been cancelled
|
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;
|
JSONArray journeys = null;
|
||||||
|
now.setTime(new Date());
|
||||||
try {
|
try {
|
||||||
journeys = getData(Station, Time, maxjourneys);
|
journeys = getData(Station, Time, maxjourneys);
|
||||||
} catch (URISyntaxException e) {
|
} catch (URISyntaxException e) {
|
||||||
|
@ -50,8 +56,12 @@ public class OebbCheck {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(notRunningDays.contains(now.get(Calendar.DAY_OF_WEEK))){
|
||||||
|
return -2;
|
||||||
|
} else {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,4 +49,6 @@ public class Settings {
|
||||||
public List<String> getStringList(String key){
|
public List<String> getStringList(String key){
|
||||||
return config.getStringList(key);
|
return config.getStringList(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Integer> getIntList(String key){ return config.getIntList(key); }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue