Added Holiday check
This commit is contained in:
parent
0520005e27
commit
c951776d65
7 changed files with 55 additions and 21 deletions
18
.idea/gradle.xml
generated
Normal file
18
.idea/gradle.xml
generated
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$/../holidays" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$/../holidays" />
|
||||
<option value="$PROJECT_DIR$/../holidays/examples" />
|
||||
<option value="$PROJECT_DIR$/../holidays/lib" />
|
||||
</set>
|
||||
</option>
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
|
@ -8,7 +8,7 @@
|
|||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="openjdk-23" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_24" project-jdk-name="corretto-16" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
15
pom.xml
15
pom.xml
|
@ -3,7 +3,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>be.jaud</groupId>
|
||||
<artifactId>OebbApi</artifactId>
|
||||
<version>0.5</version>
|
||||
<version>0.7</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>ÖBB delay check and output for Info Orbs</name>
|
||||
<properties>
|
||||
|
@ -29,9 +29,14 @@
|
|||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<version>1.5.12</version>
|
||||
<version>1.5.13</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<dependency>
|
||||
<groupId>de.fumix</groupId>
|
||||
<artifactId>holidays</artifactId>
|
||||
<version>1.0.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<finalName>OebbApi</finalName>
|
||||
<plugins>
|
||||
|
@ -88,8 +93,8 @@
|
|||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.13.0</version>
|
||||
<configuration>
|
||||
<source>21</source>
|
||||
<target>21</target>
|
||||
<source>16</source>
|
||||
<target>16</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
|
|
@ -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