58 lines
2.1 KiB
Java
58 lines
2.1 KiB
Java
package com.kallendorf.fsplugin.fsprotokolle;
|
|
|
|
import java.net.URL;
|
|
import java.net.URLConnection;
|
|
import java.util.Arrays;
|
|
import java.util.Calendar;
|
|
import java.util.Scanner;
|
|
|
|
public class FSProtokollHelper {
|
|
final static String MATHEBAU_PROTKOLLE = "https://mathebau.de/protokolle/";
|
|
|
|
public static String[] getProtokollNames() {
|
|
String content = null;
|
|
URLConnection connection = null;
|
|
try {
|
|
connection = new URL(MATHEBAU_PROTKOLLE).openConnection();
|
|
Scanner scanner = new Scanner(connection.getInputStream());
|
|
scanner.useDelimiter("\\Z");
|
|
content = scanner.next();
|
|
scanner.close();
|
|
} catch (Exception ex) {
|
|
ex.printStackTrace();
|
|
}
|
|
|
|
String[] protokolle = Arrays.stream(content.split(System.lineSeparator()))
|
|
.filter(l -> l.startsWith("<a href=\"fs-protokoll-"))
|
|
.map(l -> l.split("\"")[1])
|
|
.toArray(String[]::new);
|
|
return protokolle;
|
|
}
|
|
|
|
public static String[] getProtokollNamesCurrent() {
|
|
int year = Calendar.getInstance().get(Calendar.YEAR);
|
|
String yearString = String.valueOf(year);
|
|
String[] allProtokolls = getProtokollNames();
|
|
String[] currentProtokolls = Arrays.stream(allProtokolls)
|
|
.filter(t -> t.split("-")[2].equals(yearString))
|
|
.toArray(String[]::new);
|
|
return currentProtokolls;
|
|
}
|
|
|
|
public static int[] parseDate(String protokollTitle) {
|
|
// fs-protokoll-2020-12-16_A-Teil_en.pdf
|
|
String[] parts = protokollTitle.split("-");
|
|
return new int[] { Integer.parseInt(parts[2]), Integer.parseInt(parts[3]), Integer.parseInt(parts[4]) };
|
|
}
|
|
|
|
public static String verboseTitleString(String protokollTitle) {
|
|
int[] dateParts = parseDate(protokollTitle);
|
|
return String.format("Protokoll der Sitzung vom %2d.%2d.%4d", dateParts[2], dateParts[1], dateParts[0]);
|
|
}
|
|
|
|
public static String getDownloadLink(String protokollTitle) {
|
|
return MATHEBAU_PROTKOLLE + protokollTitle;
|
|
}
|
|
|
|
}
|