diff --git a/dist/mserver.xml b/dist/mserver.xml
index b9b180bdc..25b48369a 100644
--- a/dist/mserver.xml
+++ b/dist/mserver.xml
@@ -24,6 +24,8 @@
file:bannedFilmList.txt
+
+ ARD,ZDF,ARTE,DW,KIKA,FRUNK,3SAT,SR,SRFPOD,ORF,PHONIX
diff --git a/src/main/java/mServer/crawler/FilmeSuchen.java b/src/main/java/mServer/crawler/FilmeSuchen.java
index d79d6876d..9aabadd0b 100644
--- a/src/main/java/mServer/crawler/FilmeSuchen.java
+++ b/src/main/java/mServer/crawler/FilmeSuchen.java
@@ -37,14 +37,20 @@
import mServer.crawler.sender.sr.SrCrawler;
import mServer.crawler.sender.srf.SrfCrawler;
import mServer.crawler.sender.zdf.ZdfCrawler;
+import mServer.tool.MserverDaten;
+import mServer.tool.MserverKonstanten;
import mServer.tool.StatsUpload;
import org.apache.commons.lang3.time.FastDateFormat;
import javax.swing.event.EventListenerList;
+
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.LinkedList;
+import java.util.List;
+
/**
* ###########################################################################################################
@@ -71,19 +77,48 @@ public FilmeSuchen() {
// für jeden Sender einen MediathekReader anlegen, mit der Prio ob
// sofort gestartet oder erst später
//Reader laden Spaltenweises Laden
- mediathekListe.add(new ArdCrawler(this, 0));
- mediathekListe.add(new ZdfCrawler(this, 0));
- mediathekListe.add(new MediathekArte(this, 0));
- mediathekListe.add(new DreiSatCrawler(this, 1));
- mediathekListe.add(new DwCrawler(this, 0));
- mediathekListe.add(new KikaApiCrawler(this, 0));
- mediathekListe.add(new FunkCrawler(this, 0));
- // Spalte 2
- mediathekListe.add(new SrCrawler(this, 1));
- mediathekListe.add(new SrfCrawler(this, 1));
- mediathekListe.add(new MediathekSrfPod(this, 1));
- mediathekListe.add(new OrfCrawler(this, 1));
- mediathekListe.add(new PhoenixCrawler(this, 1));
+ List crawlerList = Arrays.asList(MserverDaten.system[MserverKonstanten.SYSTEM_CRAWLER_LIST_NR].split(","));
+ if (crawlerList.isEmpty()) {
+ crawlerList = new ArrayList<>(Arrays.asList("ARD","ZDF","ARTE","DW","KIKA","FRUNK","3SAT","SR","SRFPOD","ORF","PHONIX"));
+ }
+
+ if (crawlerList.contains("ARD")) {
+ mediathekListe.add(new ArdCrawler(this, 0));
+ }
+ if (crawlerList.contains("ZDF")) {
+ mediathekListe.add(new ZdfCrawler(this, 0));
+ }
+ if (crawlerList.contains("ARTE")) {
+ mediathekListe.add(new MediathekArte(this, 0));
+ }
+ if (crawlerList.contains("DW")) {
+ mediathekListe.add(new DwCrawler(this, 0));
+ }
+ if (crawlerList.contains("KIKA")) {
+ mediathekListe.add(new KikaApiCrawler(this, 0));
+ }
+ if (crawlerList.contains("FUNK")) {
+ mediathekListe.add(new FunkCrawler(this, 0));
+ }
+ if (crawlerList.contains("3SAT")) {
+ mediathekListe.add(new DreiSatCrawler(this, 1));
+ }
+ if (crawlerList.contains("SR")) {
+ mediathekListe.add(new SrCrawler(this, 1));
+ }
+ if (crawlerList.contains("SRF")) {
+ mediathekListe.add(new SrfCrawler(this, 1));
+ }
+ if (crawlerList.contains("SRFPOD")) {
+ mediathekListe.add(new MediathekSrfPod(this, 1));
+ }
+ if (crawlerList.contains("ORF")) {
+ mediathekListe.add(new OrfCrawler(this, 1));
+ }
+ if (crawlerList.contains("PHONIX")) {
+ mediathekListe.add(new PhoenixCrawler(this, 1));
+ }
+
}
public static String[] getNamenSender() {
diff --git a/src/main/java/mServer/tool/MserverKonstanten.java b/src/main/java/mServer/tool/MserverKonstanten.java
index dc8342dc0..86d04306f 100644
--- a/src/main/java/mServer/tool/MserverKonstanten.java
+++ b/src/main/java/mServer/tool/MserverKonstanten.java
@@ -90,12 +90,15 @@ public class MserverKonstanten {
public static final String SYSTEM_BANNEDFILMLIST = "system-bannedFilmList";
public static final int SYSTEM_BANNEDFILMLIST_NR = 16;
+
+ public static final String SYSTEM_CRAWLER_LIST = "system-crawler-list";
+ public static final int SYSTEM_CRAWLER_LIST_NR = 17;
public static final String[] SYSTEM_COLUMN_NAMES = {
SYSTEM_USER_AGENT, SYSTEM_IMPORT_URL_1, SYSTEM_IMPORT_URL_2, SYSTEM_IMPORT_OLD,
SYSTEM_IMPORT_AKT, SYSTEM_EXPORT_AKT, SYSTEM_IMPORT_LIVE,
SYSTEM_EXPORT_FILMLISTE_AKT, SYSTEM_EXPORT_FILMLISTE_ORG, SYSTEM_EXPORT_FILMLISTE_DIFF, SYSTEM_FILMLISTE_ORG,
- SYSTEM_PROXY_URL, SYSTEM_PROXY_PORT, SYSTEM_DEBUG, SYSTEM_RESTART_AFTER_RUN, SYSTEM_SR_RATELIMIT_RUN, SYSTEM_BANNEDFILMLIST
+ SYSTEM_PROXY_URL, SYSTEM_PROXY_PORT, SYSTEM_DEBUG, SYSTEM_RESTART_AFTER_RUN, SYSTEM_SR_RATELIMIT_RUN, SYSTEM_BANNEDFILMLIST, SYSTEM_CRAWLER_LIST
};
public static final int SYSTEM_MAX_ELEM = SYSTEM_COLUMN_NAMES.length;