From 03b95f100b605458e5bf2995e955882d9aa51868 Mon Sep 17 00:00:00 2001
From: undisclosed
Date: Mon, 23 Jan 2023 13:28:17 +0000
Subject: [PATCH] URL in m3u berichtigt

---
 src/de/uhilger/tango/api/MediaSteuerung.java  |   19 ---------
 src/de/uhilger/tango/api/ListHandler.java     |   24 ++++++------
 src/de/uhilger/tango/api/AbstractHandler.java |   19 +++++++++
 src/de/uhilger/tango/Server.java              |    1 
 4 files changed, 33 insertions(+), 30 deletions(-)

diff --git a/src/de/uhilger/tango/Server.java b/src/de/uhilger/tango/Server.java
index d5d445a..e29c01f 100644
--- a/src/de/uhilger/tango/Server.java
+++ b/src/de/uhilger/tango/Server.java
@@ -62,6 +62,7 @@
   //public static final String RB_ABLAGE_TEST = "testAblage";
   //public static final String RB_STORE_TEST = "testStore";
   public static final String SLASH = "/";
+  public static final String NEWLINE = "\n";
 
   private int port;
 
diff --git a/src/de/uhilger/tango/api/AbstractHandler.java b/src/de/uhilger/tango/api/AbstractHandler.java
index ec47802..d767353 100644
--- a/src/de/uhilger/tango/api/AbstractHandler.java
+++ b/src/de/uhilger/tango/api/AbstractHandler.java
@@ -21,6 +21,9 @@
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 import de.uhilger.tango.App;
+import de.uhilger.tango.entity.Einstellung;
+import de.uhilger.tango.entity.Entity;
+import de.uhilger.tango.store.Storage;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
@@ -155,4 +158,20 @@
     return rb.getString(key);
   }
   
+  protected String getEinstellung(Storage s, String key, String standardWert) {
+    Entity entity = s.read(Einstellung.class.getSimpleName(), key);
+    if (entity instanceof Einstellung) {
+      Einstellung einstellung = (Einstellung) entity;
+      Object o = einstellung.getValue();
+      if(o instanceof String) {
+        return o.toString();
+      } else {
+        return standardWert;
+      }
+    } else {
+      return standardWert;
+    }
+  }
+  
+  
 }
diff --git a/src/de/uhilger/tango/api/ListHandler.java b/src/de/uhilger/tango/api/ListHandler.java
index c3ab471..490fd4c 100644
--- a/src/de/uhilger/tango/api/ListHandler.java
+++ b/src/de/uhilger/tango/api/ListHandler.java
@@ -25,7 +25,6 @@
 import de.uhilger.tango.entity.Entity;
 import de.uhilger.tango.entity.Titel;
 import de.uhilger.tango.store.FileStorage;
-import java.io.File;
 import java.io.IOException;
 import java.util.List;
 import java.util.logging.Logger;
@@ -33,16 +32,16 @@
 /**
  * Der ListHandler bearbeitet HTTP-Anfragen zu Abspiellisten
  * 
- * GET /mz/api/alist/[pl-name]          die Titel-Objekte der Liste [pl-name] liefern
- * GET /mz/api/alist/[pl-name]/m3u      eine einfache Playlist im M3U-Format ausgeben
- * GET /mz/api/alist/[pl-name]/[nr]     den Titel mit der Nummer [nr] abrufen
+ * GET /tango/api/alist/[pl-name]          die Titel-Objekte der Liste [pl-name] liefern
+ * GET /tango/api/alist/[pl-name]/m3u      eine einfache Playlist im M3U-Format ausgeben
+ * GET /tango/api/alist/[pl-name]/[nr]     den Titel mit der Nummer [nr] abrufen
  * 
- * PUT /mz/api/alist/[pl-name]          den Titel im Body anfuegen an die Liste [pl-name]
- * PUT /mz/api/alist/[pl-name]/[nr]     an der Position nr der Liste [pl-name] den Titel im Body einfuegen
- * PUT /mz/api/alist/[pl-name]/[nrVon]/[nrNach]   den Titel von seiner aktuellen Position an eine 
+ * PUT /tango/api/alist/[pl-name]          den Titel im Body anfuegen an die Liste [pl-name]
+ * PUT /tango/api/alist/[pl-name]/[nr]     an der Position nr der Liste [pl-name] den Titel im Body einfuegen
+ * PUT /tango/api/alist/[pl-name]/[nrVon]/[nrNach]   den Titel von seiner aktuellen Position an eine 
  *                                                 andere Position der Liste [pl-name] verschieben
- * DELETE /mz/api/alist/[pl-name]/[nr]  den Titel an der Position [nr] aus der Liste [pl-name] entfernen  
- * DELETE /mz/api/alist/[pl-name]/alle  alle Titel aus der Liste [pl-name] entfernen  
+ * DELETE /tango/api/alist/[pl-name]/[nr]  den Titel an der Position [nr] aus der Liste [pl-name] entfernen  
+ * DELETE /tango/api/alist/[pl-name]/alle  alle Titel aus der Liste [pl-name] entfernen  
  * 
  * TODO (2.1.2023):
  * - Liste ab Titel spielen
@@ -97,12 +96,13 @@
       List<Titel> titelListe = liste.getTitel();
       
       for(Titel titel : titelListe) {
-        
-        sb.append("http://hsrv:9090/tango");
+        String server = getEinstellung(fs, 
+                getResString(MediaSteuerung.RB_HOST), MediaSteuerung.DEFAULT_HOST);
+        sb.append(server);
         sb.append(titel.getKatalogUrl());
         sb.append(titel.getPfad());
         sb.append(titel.getName());
-        sb.append("\n");
+        sb.append(Server.NEWLINE);
       }
     }
     return sb.toString();
diff --git a/src/de/uhilger/tango/api/MediaSteuerung.java b/src/de/uhilger/tango/api/MediaSteuerung.java
index 7c0c3bd..b499372 100644
--- a/src/de/uhilger/tango/api/MediaSteuerung.java
+++ b/src/de/uhilger/tango/api/MediaSteuerung.java
@@ -19,12 +19,10 @@
 
 import com.google.gson.Gson;
 import com.sun.net.httpserver.HttpExchange;
-import de.uhilger.tango.App;
 import de.uhilger.tango.Server;
 import de.uhilger.tango.entity.Abspielvorgang;
 import de.uhilger.tango.entity.Abspieler;
 import de.uhilger.tango.entity.Abspielliste;
-import de.uhilger.tango.entity.Einstellung;
 import de.uhilger.tango.entity.Entity;
 import de.uhilger.tango.entity.Livestream;
 import de.uhilger.tango.entity.Titel;
@@ -362,22 +360,7 @@
 
     return kmd;    
   }
-  
-  private String getEinstellung(Storage s, String key, String standardWert) {
-    Entity entity = s.read(Einstellung.class.getSimpleName(), key);
-    if (entity instanceof Einstellung) {
-      Einstellung einstellung = (Einstellung) entity;
-      Object o = einstellung.getValue();
-      if(o instanceof String) {
-        return o.toString();
-      } else {
-        return standardWert;
-      }
-    } else {
-      return standardWert;
-    }
-  }
-  
+    
   private void abspielerKommandoSenden(String kommando) {
     /*
       TODO hier evtl. mit mehreren Versuchen ausgleichen, 

--
Gitblit v1.9.3